-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Runegrafting and Keystone Tattoo Fixes #8734
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Runegrafting and Keystone Tattoo Fixes #8734
Conversation
src/Classes/TreeTab.lua
Outdated
| (node.ks == true and treeNodes[selectedNode.id].type == "Keystone")) | ||
| and node.MinimumConnected <= numLinkedNodes | ||
| and ((node.legacy == nil or node.legacy == false) or node.legacy == self.showLegacyTattoo) | ||
| and (node.ks ~= true or treeNodes[selectedNode.id].type == "Keystone") -- <-- prevent keystones on mastery nodes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thoughts on fixing this through the exporter? Notice how the Keystone tattoos have the targetType of Mastery.
In my attempt at implementing this i fixed it like so:
diff --git a/src/Export/Scripts/tattooPassives.lua b/src/Export/Scripts/tattooPassives.lua
index fa858f61..caab2321 100644
--- a/src/Export/Scripts/tattooPassives.lua
+++ b/src/Export/Scripts/tattooPassives.lua
@@ -101,6 +101,16 @@ local data = { }
data.nodes = { }
data.groups = { }
+local tattooDatRows = {}
+for i=1, passiveSkillTattoosDat.rowCount do
+ local tattooDatRow = {}
+ for j=1, #passiveSkillTattoosDat.cols-1 do
+ local key = passiveSkillTattoosDat.spec[j].name
+ tattooDatRow[key] = passiveSkillTattoosDat:ReadCell(i, j)
+ end
+ tattooDatRows[tattooDatRow.Override.Id] = tattooDatRow
+end
+
for i=1, passiveSkillOverridesDat.rowCount do
---@type table<string, boolean|string|number>
local datFileRow = {}
@@ -109,11 +119,8 @@ for i=1, passiveSkillOverridesDat.rowCount do
datFileRow[key] = passiveSkillOverridesDat:ReadCell(i, j)
end
- local tattooDatRow = {}
- for j=1, #passiveSkillTattoosDat.cols-1 do
- local key = passiveSkillTattoosDat.spec[j].name
- tattooDatRow[key] = passiveSkillTattoosDat:ReadCell(i <= passiveSkillTattoosDat.rowCount and i or passiveSkillTattoosDat.rowCount, j)
- end
+ local tattooDatRow = tattooDatRows[datFileRow.Id] or tattooDatRows["DisplayRandomKeystone"]
+
---@type table<string, boolean|string|number|table>
local tattooPassiveNode = {}
-- id
@@ -128,7 +135,7 @@ for i=1, passiveSkillOverridesDat.rowCount do
-- is notable
tattooPassiveNode['not'] = tattooDatRow.NodeTarget.Type == "Notable" and true or false
-- is mastery wheel
- tattooPassiveNode.m = false
+ tattooPassiveNode.m = datFileRow.TattooType.Id == "AlternateMastery"
tattooPassiveNode.targetType = tattooDatRow.NodeTarget.Type
tattooPassiveNode.targetValue = tattooDatRow.NodeTarget.Value
Main thing the above fixes is the assumption that the DisplayRandomKeystone entry is the last in passiveSkillTattoosDat.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much thanks. Definitely the better way to do it then. I had just assumed it was a GGG error as the targetType for the Keystones was changed in a 3.26 commit.
Fixes #8720
After screenshot: