From 580378964b1af4d21a2ec530ff88efef3816fede Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Mon, 22 Sep 2025 05:58:51 -0500 Subject: [PATCH 1/3] Lineage sorting --- src/Classes/GemSelectControl.lua | 4 ++-- src/Classes/SkillsTab.lua | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Classes/GemSelectControl.lua b/src/Classes/GemSelectControl.lua index bd3802fd7..704c96ac6 100644 --- a/src/Classes/GemSelectControl.lua +++ b/src/Classes/GemSelectControl.lua @@ -92,7 +92,7 @@ end function GemSelectClass:PopulateGemList() wipeTable(self.gems) local showAll = self.skillsTab.showSupportGemTypes == "ALL" - local showAwakened = self.skillsTab.showSupportGemTypes == "AWAKENED" + local showLineage = self.skillsTab.showSupportGemTypes == "LINEAGE" local showNormal = self.skillsTab.showSupportGemTypes == "NORMAL" local matchLevel = self.skillsTab.defaultGemLevel == "characterLevel" local characterLevel = self.skillsTab.build and self.skillsTab.build.characterLevel or 1 @@ -116,7 +116,7 @@ function GemSelectClass:FilterSupport(gemId, gemData) return (not gemData.grantedEffect.support or showSupportTypes == "ALL" or (showSupportTypes == "NORMAL" and not gemData.grantedEffect.plusVersionOf) - or (showSupportTypes == "AWAKENED" and gemData.grantedEffect.plusVersionOf)) + or (showSupportTypes == "LINEAGE" and gemData.grantedEffect.isLineage)) end function GemSelectClass:BuildList(buf) diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index 06183f0f8..aae1a72c3 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -55,7 +55,7 @@ This hides gems with a minimum level requirement above your character level, pre local showSupportGemTypeList = { { label = "All", show = "ALL" }, { label = "Non-Awakened", show = "NORMAL" }, - { label = "Awakened", show = "AWAKENED" }, + { label = "Lineage", show = "LINEAGE" }, } local sortGemTypeList = { From 45c09dcbec1d07ee264b97d1f63589d50e28f170 Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Mon, 22 Sep 2025 05:59:25 -0500 Subject: [PATCH 2/3] False Lineage tags on persistent buff supports --- src/Data/Skills/sup_dex.lua | 3 --- src/Data/Skills/sup_int.lua | 7 ------- src/Data/Skills/sup_str.lua | 9 --------- src/Export/Scripts/skills.lua | 12 +++++------- 4 files changed, 5 insertions(+), 26 deletions(-) diff --git a/src/Data/Skills/sup_dex.lua b/src/Data/Skills/sup_dex.lua index 4da7ba412..c64206473 100644 --- a/src/Data/Skills/sup_dex.lua +++ b/src/Data/Skills/sup_dex.lua @@ -4109,7 +4109,6 @@ skills["SupportPrecisionPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Precision",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 10, levelRequirement = 0, }, }, @@ -4145,7 +4144,6 @@ skills["SupportPrecisionPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Precision",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 20, levelRequirement = 0, }, }, @@ -5656,7 +5654,6 @@ skills["SupportWarmbloodedPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "WarmBlooded",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, diff --git a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua index 4c2418982..0876ecaba 100644 --- a/src/Data/Skills/sup_int.lua +++ b/src/Data/Skills/sup_int.lua @@ -988,7 +988,6 @@ skills["SupportClarityPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Clarity",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 10, levelRequirement = 0, }, }, @@ -1024,7 +1023,6 @@ skills["SupportClarityPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Clarity",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 20, levelRequirement = 0, }, }, @@ -4128,7 +4126,6 @@ skills["SupportMysticismPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Mysticism",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, @@ -4164,7 +4161,6 @@ skills["SupportMysticismPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Mysticism",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 30, levelRequirement = 0, }, }, @@ -4935,7 +4931,6 @@ skills["SupportStrongHeartedPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "StrongHearted",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, @@ -5118,7 +5113,6 @@ skills["SupportUpwellingPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Upwellling",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, @@ -5149,7 +5143,6 @@ skills["SupportUpwellingPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Upwellling",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 30, levelRequirement = 0, }, }, diff --git a/src/Data/Skills/sup_str.lua b/src/Data/Skills/sup_str.lua index 1f726c50a..0e266232a 100644 --- a/src/Data/Skills/sup_str.lua +++ b/src/Data/Skills/sup_str.lua @@ -1272,7 +1272,6 @@ skills["SupportCannibalismPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Cannibalism",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, @@ -1308,7 +1307,6 @@ skills["SupportCannibalismPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Cannibalism",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 30, levelRequirement = 0, }, }, @@ -1543,7 +1541,6 @@ skills["SupportCoolheadedPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "CoolHeaded",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, @@ -2064,7 +2061,6 @@ skills["SupportDirestrikePlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Direstrike",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 20, levelRequirement = 0, }, }, @@ -2100,7 +2096,6 @@ skills["SupportDirestrikePlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Direstrike",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 40, levelRequirement = 0, }, }, @@ -3650,7 +3645,6 @@ skills["SupportHerbalismPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Herbalism",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 15, levelRequirement = 0, }, }, @@ -3686,7 +3680,6 @@ skills["SupportHerbalismPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Herbalism",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 30, levelRequirement = 0, }, }, @@ -7155,7 +7148,6 @@ skills["SupportVitalityPlayer"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Vitality",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 20, levelRequirement = 0, }, }, @@ -7192,7 +7184,6 @@ skills["SupportVitalityPlayerTwo"] = { addSkillTypes = { }, excludeSkillTypes = { }, gemFamily = { "Vitality",}, - isLineage = true, levels = { [1] = { spiritReservationFlat = 40, levelRequirement = 0, }, }, diff --git a/src/Export/Scripts/skills.lua b/src/Export/Scripts/skills.lua index a56d41310..ee1f6cd12 100644 --- a/src/Export/Scripts/skills.lua +++ b/src/Export/Scripts/skills.lua @@ -334,15 +334,13 @@ directiveTable.skill = function(state, args, out) end out:write('},\n') end - if supportGem.Lineage then + if supportGem.Lineage and supportGem.FlavourText then out:write('\tisLineage = true,\n') - if supportGem.FlavourText then - out:write('\tflavourText = {') - for _, line in ipairs(cleanAndSplit(supportGem.FlavourText.Text)) do - out:write('"', line, '", ') - end - out:write('},\n') + out:write('\tflavourText = {') + for _, line in ipairs(cleanAndSplit(supportGem.FlavourText.Text)) do + out:write('"', line, '", ') end + out:write('},\n') end end if skill.isTrigger then From afc7d4b3abee410a02cacff431339ef74c610c1b Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Mon, 22 Sep 2025 06:34:36 -0500 Subject: [PATCH 3/3] Highest per family not working yet, but lineage sort works --- src/Classes/GemSelectControl.lua | 8 ++++++-- src/Classes/SkillsTab.lua | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Classes/GemSelectControl.lua b/src/Classes/GemSelectControl.lua index 704c96ac6..4d64eedd5 100644 --- a/src/Classes/GemSelectControl.lua +++ b/src/Classes/GemSelectControl.lua @@ -101,7 +101,11 @@ function GemSelectClass:PopulateGemList() if (self.sortGemsBy and gemData.tags[self.sortGemsBy] == true or not self.sortGemsBy) then local levelRequirement = (gemData.grantedEffect.levels and gemData.grantedEffect.levels[1] and gemData.grantedEffect.levels[1].levelRequirement) or 1 if characterLevel >= levelRequirement or not matchLevel then - self.gems["Default:" .. gemId] = gemData + if (showLineage or showAll) and gemData.grantedEffect.isLineage then + self.gems["Default:" .. gemId] = gemData + elseif (showNormal or showAll) and not gemData.grantedEffect.isLineage then + self.gems["Default:" .. gemId] = gemData + end end end end @@ -115,7 +119,7 @@ function GemSelectClass:FilterSupport(gemId, gemData) local showSupportTypes = self.skillsTab.showSupportGemTypes return (not gemData.grantedEffect.support or showSupportTypes == "ALL" - or (showSupportTypes == "NORMAL" and not gemData.grantedEffect.plusVersionOf) + or (showSupportTypes == "NORMAL" and not gemData.grantedEffect.isLineage) or (showSupportTypes == "LINEAGE" and gemData.grantedEffect.isLineage)) end diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index aae1a72c3..d3b62a781 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -54,7 +54,7 @@ This hides gems with a minimum level requirement above your character level, pre local showSupportGemTypeList = { { label = "All", show = "ALL" }, - { label = "Non-Awakened", show = "NORMAL" }, + { label = "Highest Tier Per Family", show = "NORMAL" }, { label = "Lineage", show = "LINEAGE" }, }