Skip to content
Open
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
59 changes: 37 additions & 22 deletions src/Classes/TreeTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1208,47 +1208,54 @@ function TreeTabClass:FindTimelessJewel()
else
timelessData.jewelType = jewelTypes[1]
end
local function getLegionDescriptionsById(nodeId)
for _, node in pairs(legionNodes) do
if node.id == nodeId then
return copyTable(node.sd)
end
end
end
local conquerorTypes = {
[1] = {
{ label = "Any", id = 1 },
{ label = "Doryani (Corrupted Soul)", id = 2 },
{ label = "Xibaqua (Divine Flesh)", id = 3 },
{ label = "Ahuana (Immortal Ambition)", id = 4 }
{ label = "Doryani (Corrupted Soul)", id = 2, descriptions = getLegionDescriptionsById("vaal_keystone_3") },
{ label = "Xibaqua (Divine Flesh)", id = 3, descriptions = getLegionDescriptionsById("vaal_keystone_1") },
{ label = "Ahuana (Immortal Ambition)", id = 4, descriptions = getLegionDescriptionsById("vaal_keystone_2_v2") }
},
[2] = {
{ label = "Any", id = 1 },
{ label = "Kaom (Strength of Blood)", id = 2 },
{ label = "Rakiata (Tempered by War)", id = 3 },
{ label = "Akoya (Chainbreaker)", id = 4 }
{ label = "Kaom (Strength of Blood)", id = 2, descriptions = getLegionDescriptionsById("karui_keystone_1") },
{ label = "Rakiata (Tempered by War)", id = 3, descriptions = getLegionDescriptionsById("karui_keystone_2") },
{ label = "Akoya (Chainbreaker)", id = 4, descriptions = getLegionDescriptionsById("karui_keystone_3_v2") }
},
[3] = {
{ label = "Any", id = 1 },
{ label = "Asenath (Dance with Death)", id = 2 },
{ label = "Nasima (Second Sight)", id = 3 },
{ label = "Balbala (The Traitor)", id = 4 }
{ label = "Asenath (Dance with Death)", id = 2, descriptions = getLegionDescriptionsById("maraketh_keystone_2") },
{ label = "Nasima (Second Sight)", id = 3, descriptions = getLegionDescriptionsById("maraketh_keystone_3") },
{ label = "Balbala (The Traitor)", id = 4, descriptions = getLegionDescriptionsById("maraketh_keystone_1_v2") }
},
[4] = {
{ label = "Any", id = 1 },
{ label = "Avarius (Power of Purpose)", id = 2 },
{ label = "Dominus (Inner Conviction)", id = 3 },
{ label = "Maxarius (Transcendence)", id = 4 }
{ label = "Avarius (Power of Purpose)", id = 2, descriptions = getLegionDescriptionsById("templar_keystone_3") },
{ label = "Dominus (Inner Conviction)", id = 3, descriptions = getLegionDescriptionsById("templar_keystone_2") },
{ label = "Maxarius (Transcendence)", id = 4, descriptions = getLegionDescriptionsById("templar_keystone_1_v2") }
},
[5] = {
{ label = "Any", id = 1 },
{ label = "Cadiro (Supreme Decadence)", id = 2 },
{ label = "Victario (Supreme Grandstanding)", id = 3 },
{ label = "Caspiro (Supreme Ostentation)", id = 4 }
{ label = "Cadiro (Supreme Decadence)", id = 2, descriptions = getLegionDescriptionsById("eternal_keystone_1") },
{ label = "Victario (Supreme Grandstanding)", id = 3, descriptions = getLegionDescriptionsById("eternal_keystone_2") },
{ label = "Caspiro (Supreme Ostentation)", id = 4, descriptions = getLegionDescriptionsById("eternal_keystone_3_v2") }
},
[6] = {
{ label = "Any", id = 1 },
{ label = "Vorana (Black Scythe Training)", id = 2 },
{ label = "Uhtred (Celestial Mathematics)", id = 3 },
{ label = "Medved (The Unbreaking Circle)", id = 4 }
{ label = "Vorana (Black Scythe Training)", id = 2, descriptions = getLegionDescriptionsById("kalguur_keystone_1") },
{ label = "Uhtred (Celestial Mathematics)", id = 3, descriptions = getLegionDescriptionsById("kalguur_keystone_2") },
{ label = "Medved (The Unbreaking Circle)", id = 4, descriptions = getLegionDescriptionsById("kalguur_keystone_3") }
},
[7] = { { label = "Tecrod (Overwhelming Hate)", id = 1 } },
[8] = { { label = "Ulaman (Weighted Exchange)", id = 1 } },
[9] = { { label = "Kurgal (Reconstructed Essence)", id = 1 } },
[10] = { { label = "Amanamu (The Loyal Few)", id = 1 } },
[7] = { { label = "Tecrod (Overwhelming Hate)", id = 1, descriptions = getLegionDescriptionsById("abyss_murderous_keystone") } },
[8] = { { label = "Ulaman (Weighted Exchange)", id = 1, descriptions = getLegionDescriptionsById("abyss_searching_keystone") } },
[9] = { { label = "Kurgal (Reconstructed Essence)", id = 1, descriptions = getLegionDescriptionsById("abyss_hypnotic_keystone") } },
[10] = { { label = "Amanamu (The Loyal Few)", id = 1, descriptions = getLegionDescriptionsById("abyss_ghastly_keystone") } },
[11] = { { label = "Zorath", id = 1 } }
}
-- rebuild `timelessData.conquerorType` as we only store the minimum amount of `conquerorType` data in build XML
Expand Down Expand Up @@ -1553,6 +1560,14 @@ function TreeTabClass:FindTimelessJewel()
self.build.modFlag = true
end)
controls.conquerorSelect.selIndex = timelessData.conquerorType.id
controls.conquerorSelect.tooltipFunc = function(tooltip, mode, index, value)
tooltip:Clear()
if mode ~= "OUT" and value.descriptions then
for _, line in ipairs(value.descriptions) do
tooltip:AddLine(16, "^7" .. line)
end
end
end
controls.conquerorSelectLabel = new("LabelControl", {"RIGHT", controls.conquerorSelect, "LEFT"}, {-labelSpacing, 0, 0, labelHeight}, "^7Conqueror:")

setAllocatedNodes = function()
Expand Down