Close combat and multi strike correct damage values

Adds pantheons from temmings' pull request
Adds partial Impale support from baranio's pull request
Adds updated uniques from PJacek's pull request and my own
Adds more tree highlighting options for node power from coldino's pull request
Adds support for fossil mods in the crafting window. Including correct parsing for some mods that previously didn't work
This commit is contained in:
Jack Lockwood
2019-09-04 21:53:06 +10:00
parent 0c76b8fd0c
commit 6e1e41ea34
45 changed files with 3044 additions and 595 deletions

View File

@@ -37,6 +37,26 @@ local fooBanditDropList = {
{ label = "Alira (Mana Regen, Crit Multiplier, Resists)", banditId = "Alira" },
}
local PantheonMajorGodDropList = {
{ label = "Nothing", id = "None" },
{ label = "Soul of the Brine King", id = "TheBrineKing" },
{ label = "Soul of Lunaris", id = "Lunaris" },
{ label = "Soul of Solaris", id = "Solaris" },
{ label = "Soul of Arakaali", id = "Arakaali" },
}
local PantheonMinorGodDropList = {
{ label = "Nothing", id = "None" },
{ label = "Soul of Gruthkul", id = "Gruthkul" },
{ label = "Soul of Yugul", id = "Yugul" },
{ label = "Soul of Abberath", id = "Abberath" },
{ label = "Soul of Tukohama", id = "Tukohama" },
{ label = "Soul of Garukhan", id = "Garukhan" },
{ label = "Soul of Ralakesh", id = "Ralakesh" },
{ label = "Soul of Ryslatha", id = "Ryslatha" },
{ label = "Soul of Shakari", id = "Shakari" },
}
local buildMode = new("ControlHost")
function buildMode:Init(dbFileName, buildName, buildXML, targetVersion)
@@ -330,6 +350,8 @@ function buildMode:Init(dbFileName, buildName, buildXML, targetVersion)
self.banditNormal = "None"
self.banditCruel = "None"
self.banditMerciless = "None"
self.pantheonMajorGod = "None"
self.pantheonMinorGod = "None"
self.spectreList = { }
-- Load build file
@@ -418,8 +440,43 @@ function buildMode:Init(dbFileName, buildName, buildXML, targetVersion)
self.buildFlag = true
end)
self.controls.banditLabel = new("LabelControl", {"BOTTOMLEFT",self.controls.bandit,"TOPLEFT"}, 0, 0, 0, 14, "^7Bandit:")
end
self.controls.mainSkillLabel = new("LabelControl", {"TOPLEFT",self.anchorSideBar,"TOPLEFT"}, 0, 95, 300, 16, "^7Main Skill:")
-- The Pantheon
local function applyPantheonDescription(tooltip, mode, index, value)
tooltip:Clear()
if value.id == "None" then
return
end
local applyModes = { BODY = true, HOVER = true }
if applyModes[mode] then
local god = self.data.pantheons[value.id]
for _, soul in ipairs(god.souls) do
local name = soul.name
local lines = { }
for _, mod in ipairs(soul.mods) do
t_insert(lines, mod.line)
end
tooltip:AddLine(20, '^8'..name)
tooltip:AddLine(14, '^6'..table.concat(lines, '\n'))
tooltip:AddSeparator(10)
end
end
end
self.controls.pantheonMajorGod = new("DropDownControl", {"TOPLEFT",self.anchorSideBar,"TOPLEFT"}, 0, 110, 300, 16, PantheonMajorGodDropList, function(index, value)
self.pantheonMajorGod = value.id
self.modFlag = true
self.buildFlag = true
end)
self.controls.pantheonMajorGod.tooltipFunc = applyPantheonDescription
self.controls.pantheonMinorGod = new("DropDownControl", {"TOPLEFT",self.anchorSideBar,"TOPLEFT"}, 0, 130, 300, 16, PantheonMinorGodDropList, function(index, value)
self.pantheonMinorGod = value.id
self.modFlag = true
self.buildFlag = true
end)
self.controls.pantheonMinorGod.tooltipFunc = applyPantheonDescription
self.controls.pantheonLabel = new("LabelControl", {"BOTTOMLEFT",self.controls.pantheonMajorGod,"TOPLEFT"}, 0, 0, 0, 14, "^7The Pantheon:")
end
local mainSkillPosY = (self.targetVersion == "2_6") and 95 or 155 -- The Pantheon's DropDown space
self.controls.mainSkillLabel = new("LabelControl", {"TOPLEFT",self.anchorSideBar,"TOPLEFT"}, 0, mainSkillPosY, 300, 16, "^7Main Skill:")
self.controls.mainSocketGroup = new("DropDownControl", {"TOPLEFT",self.controls.mainSkillLabel,"BOTTOMLEFT"}, 0, 2, 300, 16, nil, function(index, value)
self.mainSocketGroup = index
self.modFlag = true
@@ -617,7 +674,7 @@ function buildMode:Load(xml, fileName)
end
self.characterLevel = tonumber(xml.attrib.level) or 1
self.controls.characterLevel:SetText(tostring(self.characterLevel))
for _, diff in pairs({"bandit","banditNormal","banditCruel","banditMerciless"}) do
for _, diff in pairs({"bandit","banditNormal","banditCruel","banditMerciless","pantheonMajorGod","pantheonMinorGod"}) do
self[diff] = xml.attrib[diff] or "None"
end
self.mainSocketGroup = tonumber(xml.attrib.mainSkillIndex) or tonumber(xml.attrib.mainSocketGroup) or 1
@@ -642,6 +699,8 @@ function buildMode:Save(xml)
banditNormal = self.banditNormal,
banditCruel = self.banditCruel,
banditMerciless = self.banditMerciless,
pantheonMajorGod = self.pantheonMajorGod,
pantheonMinorGod = self.pantheonMinorGod,
mainSocketGroup = tostring(self.mainSocketGroup),
}
for _, id in ipairs(self.spectreList) do
@@ -736,7 +795,12 @@ function buildMode:OnFrame(inputEvents)
self.controls[diff]:SelByValue(self[diff], "banditId")
end
end
for _, diff in pairs({"pantheonMajorGod","pantheonMinorGod"}) do
if self.controls[diff] then
self.controls[diff]:SelByValue(self[diff], "id")
end
end
if self.buildFlag then
-- Rebuild calculation output tables
self.outputRevision = self.outputRevision + 1