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
8 changes: 8 additions & 0 deletions src/Classes/PassiveTreeView.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1230,9 +1230,17 @@ function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build)
end
end
end
local goldCost = data.goldRespecPrices[build.characterLevel]
if node.ascendancyName then
goldCost = goldCost * 5
end
if node.depends and #node.depends > 1 then
tooltip:AddSeparator(14)
tooltip:AddLine(14, "^7"..#node.depends .. " points gained from unallocating these nodes")
tooltip:AddLine(14, "^xFFD700"..formatNumSep(#node.depends * goldCost) .. " Gold ^7required to unallocate these nodes")
tooltip:AddLine(14, colorCodes.TIP)
elseif node.alloc then
tooltip:AddLine(14, "^xFFD700"..formatNumSep(#node.depends * goldCost) .. " Gold ^7required to unallocate this node")
tooltip:AddLine(14, colorCodes.TIP)
end
if node.type == "Socket" then
Expand Down
20 changes: 16 additions & 4 deletions src/Classes/TreeTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -68,24 +68,36 @@ local TreeTabClass = newClass("TreeTab", "ControlHost", function(self, build)
end
if spec.curClassId == self.build.spec.curClassId then
local respec = 0
local respecAscendancy = 0
for nodeId, node in pairs(self.build.spec.allocNodes) do
-- Assumption: Nodes >= 65536 are small cluster passives.
if node.type ~= "ClassStart" and node.type ~= "AscendClassStart"
and (self.build.spec.tree.clusterNodeMap[node.dn] == nil or node.isKeystone or node.isJewelSocket) and nodeId < 65536
and not spec.allocNodes[nodeId] then
if node.ascendancyName then
respec = respec + 5
respecAscendancy = respecAscendancy + 1
else
respec = respec + 1
end
end
end
if respec > 0 then
tooltip:AddLine(16, "^7Switching to this tree requires "..respec.." refund points.")
if respec > 0 or respecAscendancy > 0 then
local goldCost = data.goldRespecPrices[build.characterLevel]
local totalGold = (respec * goldCost) + (respecAscendancy * goldCost * 5)
local goldStr = formatNumSep(tostring(totalGold))
tooltip:AddLine(16, "^xFFD700" .. goldStr .. " Gold ^7required to switch to this tree.")
if respec > 0 then
local nodeWord = respec == 1 and "Passive node to be refunded" or "Passive nodes to be refunded"
tooltip:AddLine(16, s_format("^7\t%d %s.", respec, nodeWord))
end
if respecAscendancy > 0 then
local ascendWord = respecAscendancy == 1 and "Ascendancy node to be refunded" or "Ascendancy nodes to be refunded"
tooltip:AddLine(16, s_format("^7\t%d %s.", respecAscendancy, ascendWord))
end
end
end
end
tooltip:AddLine(16, "Game Version: "..treeVersions[spec.treeVersion].display)
tooltip:AddLine(16, "^7Game Version: "..treeVersions[spec.treeVersion].display)
end
end
end
Expand Down
2 changes: 2 additions & 0 deletions src/Data/Misc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -316,3 +316,5 @@ data.mapLevelLifeMult = { [66] = 1.01, [67] = 1.03, [68] = 1.05, [69] = 1.09, [7
-- From MonsterMapBossDifficulty.dat
data.mapLevelBossLifeMult = { [1] = 1.5, [2] = 1.52, [3] = 1.54, [4] = 1.56, [5] = 1.58, [6] = 1.6, [7] = 1.62, [8] = 1.64, [9] = 1.66, [10] = 1.68, [11] = 1.7, [12] = 1.72, [13] = 1.74, [14] = 1.76, [15] = 1.78, [16] = 1.8, [17] = 1.82, [18] = 1.84, [19] = 1.86, [20] = 1.88, [21] = 1.9, [22] = 1.92, [23] = 1.94, [24] = 1.96, [25] = 1.98, [26] = 2, [27] = 2.02, [28] = 2.04, [29] = 2.06, [30] = 2.08, [31] = 2.1, [32] = 2.12, [33] = 2.14, [34] = 2.16, [35] = 2.18, [36] = 2.2, [37] = 2.22, [38] = 2.24, [39] = 2.26, [40] = 2.28, [41] = 2.3, [42] = 2.32, [43] = 2.34, [44] = 2.36, [45] = 2.38, [46] = 2.4, [47] = 2.42, [48] = 2.44, [49] = 2.46, [50] = 2.48, [51] = 2.5, [52] = 2.52, [53] = 2.54, [54] = 2.56, [55] = 2.58, [56] = 2.6, [57] = 2.62, [58] = 2.64, [59] = 2.66, [60] = 2.68, [61] = 2.7, [62] = 2.72, [63] = 2.74, [64] = 2.76, [65] = 2.78, [66] = 2.8, [67] = 2.8, [68] = 2.8, [69] = 3.03, [70] = 3.16, [71] = 3.32, [72] = 3.48, [73] = 5.63, [74] = 5.97, [75] = 6.32, [76] = 6.66, [77] = 6.99, [78] = 10.46, [79] = 11.32, [80] = 13.01, [81] = 15.43, [82] = 17.2, [83] = 19.64, [84] = 21.46, [85] = 21.46, [86] = 21.46, [87] = 21.46, [88] = 21.46, [89] = 21.46, [90] = 21.46, }
data.mapLevelBossAilmentMult = { [1] = 0.81, [2] = 0.81, [3] = 0.81, [4] = 0.81, [5] = 0.81, [6] = 0.81, [7] = 0.81, [8] = 0.81, [9] = 0.81, [10] = 0.81, [11] = 0.81, [12] = 0.81, [13] = 0.81, [14] = 0.81, [15] = 0.81, [16] = 0.81, [17] = 0.81, [18] = 0.81, [19] = 0.81, [20] = 0.81, [21] = 0.81, [22] = 0.81, [23] = 0.81, [24] = 0.81, [25] = 0.81, [26] = 0.81, [27] = 0.81, [28] = 0.81, [29] = 0.81, [30] = 0.81, [31] = 0.81, [32] = 0.81, [33] = 0.81, [34] = 0.81, [35] = 0.81, [36] = 0.81, [37] = 0.81, [38] = 0.81, [39] = 0.81, [40] = 0.81, [41] = 0.81, [42] = 0.81, [43] = 0.81, [44] = 0.81, [45] = 0.81, [46] = 0.81, [47] = 0.81, [48] = 0.81, [49] = 0.81, [50] = 0.81, [51] = 0.8, [52] = 0.79, [53] = 0.78, [54] = 0.77, [55] = 0.76, [56] = 0.75, [57] = 0.74, [58] = 0.73, [59] = 0.72, [60] = 0.71, [61] = 0.7, [62] = 0.69, [63] = 0.68, [64] = 0.67, [65] = 0.66, [66] = 0.65, [67] = 0.64, [68] = 0.63, [69] = 0.59, [70] = 0.58, [71] = 0.57, [72] = 0.56, [73] = 0.55, [74] = 0.53, [75] = 0.52, [76] = 0.51, [77] = 0.5, [78] = 0.49, [79] = 0.48, [80] = 0.48, [81] = 0.47, [82] = 0.47, [83] = 0.47, [84] = 0.47, [85] = 0.47, [86] = 0.47, [87] = 0.47, [88] = 0.47, [89] = 0.47, [90] = 0.47, }
-- From VillageBalancePerLevelShared.dat
data.goldRespecPrices = { 4, 4, 4, 5, 5, 6, 6, 7, 8, 8, 9, 11, 12, 14, 15, 17, 18, 20, 22, 24, 26, 28, 31, 34, 36, 39, 43, 46, 50, 54, 58, 62, 67, 72, 83, 90, 97, 105, 113, 121, 130, 151, 161, 171, 182, 209, 222, 237, 252, 267, 295, 313, 333, 354, 376, 427, 452, 482, 513, 546, 618, 656, 694, 733, 773, 816, 860, 892, 921, 1055, 1203, 1365, 1541, 1748, 1974, 2221, 2490, 2770, 3073, 3400, 3752, 4131, 4538, 4976, 5444, 5967, 6526, 7126, 7766, 8450, 9851, 11380, 13042, 14847, 16801, 18914, 21192, 23647, 26286, 29119, }
1 change: 1 addition & 0 deletions src/Export/Classes/GGPKData.lua
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ function GGPKClass:GetNeededFiles()
"Data/BrequelGraftTypes.dat",
"Data/BrequelGraftSkillStats.dat",
"Data/BrequelGraftGrantedSkillLevels.dat",
"Data/VillageBalancePerLevelShared.dat",
}
local txtFiles = {
"Metadata/StatDescriptions/passive_skill_aura_stat_descriptions.txt",
Expand Down
7 changes: 7 additions & 0 deletions src/Export/Scripts/miscdata.lua
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,13 @@ out:write('-- From MonsterMapBossDifficulty.dat\n')
out:write('data.mapLevelBossLifeMult = { '..mapBossLifeMult..'}\n')
out:write('data.mapLevelBossAilmentMult = { '..mapBossAilmentMult..'}\n')

out:write('-- From VillageBalancePerLevelShared.dat\n')
out:write('data.goldRespecPrices = { ')
for row in dat("VillageBalancePerLevelShared"):Rows() do
out:write(row.GoldRespec .. ', ')
end
out:write('}\n')

out:close()

print("Misc data exported.")
51 changes: 51 additions & 0 deletions src/Export/spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13475,6 +13475,57 @@ return {
},
userinterfacemodecondition={
},
villagebalanceperlevelshared={
[1]={
list=false,
name="Level",
refTo="",
type="Int",
width=150
},
[2]={
list=false,
name="",
refTo="",
type="Int",
width=150
},
[3]={
list=false,
name="",
refTo="",
type="Int",
width=150
},
[4]={
list=false,
name="GoldRespec",
refTo="",
type="Int",
width=150
},
[5]={
list=false,
name="",
refTo="",
type="Int",
width=150
},
[6]={
list=false,
name="",
refTo="",
type="Int",
width=150
},
[7]={
list=false,
name="",
refTo="",
type="Int",
width=150
}
},
villageuniquedisenchantvalues={
[1]={
list=false,
Expand Down