Minor tweaks and fixes

This commit is contained in:
Openarl
2016-11-02 21:33:40 +10:00
parent 9ece3b4768
commit 47179c86bd
13 changed files with 124 additions and 46 deletions

View File

@@ -37,8 +37,8 @@ function CalcBreakdownClass:SetBreakdownData(displayData, pinned)
return
end
-- Build list of sections
self.sectionList = wipeTable(self.sectionList)
for _, sectionData in ipairs(displayData) do
if sectionData.breakdown then
self:AddBreakdownSection(sectionData)
@@ -46,13 +46,14 @@ function CalcBreakdownClass:SetBreakdownData(displayData, pinned)
self:AddModSection(sectionData)
end
end
if #self.sectionList == 0 then
self.calcsTab:ClearDisplayStat()
return
end
self.shown = true
-- Determine the size of each section, and the combined content size of the breakdown
self.contentWidth = 0
local offset = 2
for i, section in ipairs(self.sectionList) do
@@ -63,6 +64,7 @@ function CalcBreakdownClass:SetBreakdownData(displayData, pinned)
end
section.height = #section.lines * section.textSize + 4
elseif section.type == "TABLE" then
-- This also calculates the width of each column in the table
section.width = 4
for _, col in pairs(section.colList) do
for _, row in pairs(section.rowList) do
@@ -86,19 +88,24 @@ function CalcBreakdownClass:SetBreakdownData(displayData, pinned)
self.contentHeight = offset - 6
end
-- Add sections based on the breakdown data generated by the Calcs module
function CalcBreakdownClass:AddBreakdownSection(sectionData)
local breakdown = self.calcsTab.calcsEnv.breakdown[sectionData.breakdown]
if not breakdown then
return
end
if #breakdown > 0 then
-- Text lines
t_insert(self.sectionList, {
type = "TEXT",
lines = breakdown,
textSize = 16
})
end
if breakdown.damageComponents and #breakdown.damageComponents > 0 then
-- Damage component table, used for hit damage breakdowns
local section = {
type = "TABLE",
rowList = breakdown.damageComponents,
@@ -114,7 +121,9 @@ function CalcBreakdownClass:AddBreakdownSection(sectionData)
}
t_insert(self.sectionList, section)
end
if breakdown.reservations and #breakdown.reservations > 0 then
-- Reservations table, used for life/mana reservation breakdowns
local section = {
type = "TABLE",
rowList = breakdown.reservations,
@@ -129,7 +138,9 @@ function CalcBreakdownClass:AddBreakdownSection(sectionData)
}
t_insert(self.sectionList, section)
end
if breakdown.slots and #breakdown.slots > 0 then
-- Slots table, used for armour/evasion/ES total breakdowns
local section = {
type = "TABLE",
rowList = breakdown.slots,
@@ -157,9 +168,12 @@ function CalcBreakdownClass:AddBreakdownSection(sectionData)
end
end
-- Add a table section showing a list of modifiers
function CalcBreakdownClass:AddModSection(sectionData)
local env = self.calcsTab.calcsEnv
local build = self.calcsTab.build
-- Build list of modifiers to display
local cfg = (sectionData.cfg and copyTable(env.mainSkill[sectionData.cfg.."Cfg"])) or { }
cfg.source = sectionData.modSource
cfg.tabulate = true
@@ -173,6 +187,8 @@ function CalcBreakdownClass:AddModSection(sectionData)
if #rowList == 0 then
return
end
-- Create section data
local section = {
type = "TABLE",
label = sectionData.label,
@@ -187,7 +203,9 @@ function CalcBreakdownClass:AddModSection(sectionData)
},
}
t_insert(self.sectionList, section)
if not sectionData.modType then
-- Sort modifiers by type
for i, row in pairs(rowList) do
row.index = i
end
@@ -199,11 +217,14 @@ function CalcBreakdownClass:AddModSection(sectionData)
end
end)
end
local sourceTotals = { }
if not sectionData.modSource then
-- Build list of totals from each modifier source
local types = { }
local typeList = { }
for i, row in pairs(rowList) do
-- Find all the modifier types and source types that are present in the modifier lsit
if not types[row.mod.type] then
types[row.mod.type] = true
t_insert(typeList, row.mod.type)
@@ -218,6 +239,7 @@ function CalcBreakdownClass:AddModSection(sectionData)
cfg.source = sourceType
for _, modType in ipairs(typeList) do
if type(sectionData.modName) == "table" then
-- Multiple stats, show each separately
for _, modName in ipairs(sectionData.modName) do
local total = modDB:Sum(modType, cfg, modName)
if modType == "MORE" then
@@ -239,18 +261,23 @@ function CalcBreakdownClass:AddModSection(sectionData)
end
end
end
-- Process modifier data
for _, row in pairs(rowList) do
if not sectionData.modType then
-- No modifier type specified, so format the value to convey type
row.value = self:FormatModValue(row.value, row.mod.type)
else
section.colList[1].right = true
row.value = formatRound(row.value, 2)
end
if type(sectionData.modName) == "table" then
-- Multiple stat names specified, add this modifier's stat to the table
row.name = self:FormatModName(row.mod.name)
end
local sourceType = row.mod.source:match("[^:]+")
if not sectionData.modSource then
-- No modifier source specified, add the source type to the table
row.source = sourceType
row.sourceTooltip = function()
main:AddTooltipLine(16, "Total from "..sourceType..":")
@@ -261,6 +288,7 @@ function CalcBreakdownClass:AddModSection(sectionData)
end
end
if sourceType == "Item" then
-- Modifier is from an item, add item name and tooltip
local itemId = row.mod.source:match("Item:(%d+):.+")
local item = build.itemsTab.list[tonumber(itemId)]
row.sourceName = data.colorCodes[item.rarity]..item.name
@@ -269,6 +297,7 @@ function CalcBreakdownClass:AddModSection(sectionData)
return data.colorCodes[item.rarity], true
end
elseif sourceType == "Tree" then
-- Modifier is from a passive node, add node name, and add node ID (used to show node location)
local nodeId = row.mod.source:match("Tree:(%d+)")
if nodeId then
local node = build.spec.nodes[tonumber(nodeId)]
@@ -278,9 +307,11 @@ function CalcBreakdownClass:AddModSection(sectionData)
row.sourceName = "Jewel conversion"
end
elseif sourceType == "Skill" then
-- Extract skill name
row.sourceName = row.mod.source:match("Skill:(.+)")
end
if row.mod.flags ~= 0 or row.mod.keywordFlags ~= 0 then
-- Combine, sort and format modifier flags
local flagNames = { }
for flags, src in pairs({[row.mod.flags] = ModFlag, [row.mod.keywordFlags] = KeywordFlag}) do
for name, val in pairs(src) do
@@ -290,11 +321,10 @@ function CalcBreakdownClass:AddModSection(sectionData)
end
end
table.sort(flagNames)
for _, name in ipairs(flagNames) do
row.flags = (row.flags and row.flags .. ", " or "") .. name
end
row.flags = table.concat(flagNames, ", ")
end
if row.mod.tagList[1] then
-- Format modifier tags
local baseVal = (row.mod.type == "BASE" and string.format("%+g", math.abs(row.mod.value)) or math.abs(row.mod.value).."%")
for _, tag in ipairs(row.mod.tagList) do
local desc
@@ -357,15 +387,18 @@ end
function CalcBreakdownClass:DrawBreakdownTable(viewPort, x, y, section)
local cursorX, cursorY = GetCursorPos()
local colX = x + 4
if section.label then
-- Draw table lable if able
DrawString(x + 2, y, "LEFT", 16, "VAR", "^7"..section.label..":")
y = y + 16
end
local colX = x + 4
for index, col in ipairs(section.colList) do
if col.width then
-- Column is present, draw the separator and label
col.x = colX
if index > 1 then
-- Skip the separator for the first column
SetDrawColor(0.5, 0.5, 0.5)
DrawImage(nil, colX - 2, y, 1, section.label and section.height - 16 or section.height)
end
@@ -376,10 +409,12 @@ function CalcBreakdownClass:DrawBreakdownTable(viewPort, x, y, section)
end
local rowY = y + 20
for _, row in ipairs(section.rowList) do
-- Draw row separator
SetDrawColor(0.5, 0.5, 0.5)
DrawImage(nil, x + 2, rowY - 1, section.width - 4, 1)
for _, col in ipairs(section.colList) do
if col.x and row[col.key] then
if col.width and row[col.key] then
-- This row has an entry for this column, draw it
if col.right then
DrawString(col.x + col.width - 4, rowY + 1, "RIGHT_X", 12, "VAR", "^7"..row[col.key])
else
@@ -388,6 +423,7 @@ function CalcBreakdownClass:DrawBreakdownTable(viewPort, x, y, section)
local ttFunc = row[col.key.."Tooltip"]
local ttNode = row[col.key.."Node"]
if (ttFunc or ttNode) and cursorY >= viewPort.y + 2 and cursorY < viewPort.y + viewPort.height - 2 and cursorX >= col.x and cursorY >= rowY and cursorX < col.x + col.width and cursorY < rowY + 14 then
-- Mouse is over the cell, draw highlighting lines and show the tooltip/node location
SetDrawLayer(nil, 15)
SetDrawColor(0, 1, 0)
DrawImage(nil, col.x - 2, rowY - 1, col.width, 1)
@@ -427,6 +463,7 @@ function CalcBreakdownClass:Draw(viewPort)
local width = self.contentWidth
local height = self.contentHeight
if self.contentHeight > viewPort.height then
-- Content won't fit the screen height, so set the scrollbar
width = self.contentWidth + scrollBar.width
height = viewPort.height
scrollBar.height = height - 4
@@ -436,6 +473,7 @@ function CalcBreakdownClass:Draw(viewPort)
end
self.width = width
self.height = height
-- Calculate position based on the source cell
local x = sourceData.x + sourceData.width + 5
local y = m_min(sourceData.y, viewPort.y + viewPort.height - height)
if x + width > viewPort.x + viewPort.width then
@@ -443,9 +481,11 @@ function CalcBreakdownClass:Draw(viewPort)
end
self.x = x
self.y = y
-- Draw background
SetDrawLayer(nil, 10)
SetDrawColor(0, 0, 0, 0.9)
DrawImage(nil, x + 2, y + 2, width - 4, height - 4)
-- Draw border (this is put in sub layer 11 so it draws over the contents, in case they don't fit the screen)
SetDrawLayer(nil, 11)
if self.pinned then
SetDrawColor(0.25, 1, 0.25)
@@ -458,6 +498,7 @@ function CalcBreakdownClass:Draw(viewPort)
DrawImage(nil, x + width - 2, y, 2, height)
SetDrawLayer(nil, 10)
self:DrawControls(viewPort)
-- Draw the sections
y = y - scrollBar.offset
for i, section in ipairs(self.sectionList) do
local sectionY = y + section.offset
@@ -486,6 +527,7 @@ function CalcBreakdownClass:OnKeyDown(key, doubleClick)
local mOver = self:IsMouseOver()
if key:match("BUTTON") then
if not mOver then
-- Mouse click outside the control, hide the breakdown
self.calcsTab:ClearDisplayStat()
self.shown = false
return

View File

@@ -22,6 +22,7 @@ local CalcSectionClass = common.NewClass("CalcSection", "Control", "ControlHost"
for _, data in ipairs(self.data) do
for _, colData in ipairs(data) do
if colData.control then
-- Add control to the section's control list and set show/hide function
self.controls[colData.controlName] = colData.control
colData.control.shown = function()
return self.enabled and not self.collapsed and data.enabled
@@ -52,6 +53,7 @@ function CalcSectionClass:IsMouseOver()
end
local mOver = self:IsMouseInBounds()
if mOver and not self.collapsed and self.enabled then
-- Check if mouse is over one of the cells
local cursorX, cursorY = GetCursorPos()
for _, data in ipairs(self.data) do
if data.enabled then
@@ -116,6 +118,7 @@ function CalcSectionClass:UpdatePos()
for _, rowData in ipairs(self.data) do
if rowData.enabled then
for col, colData in ipairs(rowData) do
-- Update the real coordinates of this cell
colData.x = x + colData.xOffset
colData.y = y + colData.yOffset
if colData.control then
@@ -161,11 +164,13 @@ function CalcSectionClass:Draw(viewPort)
local cursorX, cursorY = GetCursorPos()
local env = self.calcsTab.calcsEnv
local output = self.calcsTab.calcsOutput
-- Draw border and background
SetDrawLayer(nil, -10)
SetDrawColor(self.col)
DrawImage(nil, x, y, width, height)
SetDrawColor(0.10, 0.10, 0.10)
DrawImage(nil, x + 2, y + 2, width - 4, height - 4)
-- Draw label
if not self.enabled then
DrawString(x + 3, y + 3, "LEFT", 16, "VAR BOLD", "^8"..self.label)
else
@@ -175,8 +180,10 @@ function CalcSectionClass:Draw(viewPort)
DrawString(x, y + 3, "LEFT", 16, "VAR", self:FormatStr(self.extra, output))
end
end
-- Draw line below label
SetDrawColor(self.col)
DrawImage(nil, x + 2, y + 20, width - 4, 2)
-- Draw controls
SetDrawLayer(nil, 0)
self:DrawControls(viewPort)
if self.collapsed or not self.enabled then
@@ -186,11 +193,13 @@ function CalcSectionClass:Draw(viewPort)
for _, rowData in ipairs(self.data) do
if rowData.enabled then
if rowData.label then
-- Draw row label with background
SetDrawColor(0, 0, 0)
DrawImage(nil, x + 2, lineY, 130, 18)
DrawString(x + 132, lineY + 1, "RIGHT_X", 16, "VAR", "^7"..rowData.label..":")
end
for col, colData in ipairs(rowData) do
-- Draw column separator at the left end of the cell
SetDrawColor(self.col)
DrawImage(nil, colData.x, lineY, 2, colData.height)
if colData.format then
@@ -198,6 +207,7 @@ function CalcSectionClass:Draw(viewPort)
self.calcsTab:SetDisplayStat(colData)
end
if self.calcsTab.displayData == colData then
-- This is the display stat, draw a green border around this cell
SetDrawColor(0.25, 1, 0.25)
DrawImage(nil, colData.x + 2, colData.y, colData.width - 2, colData.height)
SetDrawColor(0, 0, 0)
@@ -231,6 +241,7 @@ function CalcSectionClass:OnKeyDown(key, doubleClick)
return
end
if mOverComp then
-- Pin the stat breakdown
self.calcsTab:SetDisplayStat(mOverComp, true)
return self.calcsTab.controls.breakdown
end

View File

@@ -34,6 +34,7 @@ local CalcsTabClass = common.NewClass("CalcsTab", "UndoHandler", "ControlHost",
self.colWidth = 230
self.sectionList = { }
-- Special section for skill/mode selection
self:NewSection(3, "SkillSelect", 1, "View Skill Details", data.colorCodes.NORMAL, {
{ label = "Socket Group", { controlName = "mainSocketGroup",
control = common.New("DropDownControl", nil, 0, 0, 300, 16, nil, function(index)
@@ -109,6 +110,7 @@ Effective DPS: Curses and enemy properties (such as resistances and status condi
section.controls.mode:SelByValue(self.input.misc_buffMode)
end)
-- Add sections from the CalcSections module
for _, section in ipairs(sectionData) do
self:NewSection(unpack(section))
end
@@ -204,6 +206,7 @@ function CalcsTabClass:Draw(viewPort, inputEvents)
main:DrawBackground(viewPort)
-- Arrange the sections
local baseX = viewPort.x + 4
local baseY = viewPort.y + 4
local maxCol = m_floor(viewPort.width / (self.colWidth + 8))
@@ -214,6 +217,8 @@ function CalcsTabClass:Draw(viewPort, inputEvents)
if section.enabled then
local col
if section.group == 1 then
-- Group 1: Offense
-- This group is put into the first 3 columns, with each section placed into the highest available location
col = 1
local minY = colY[col] or baseY
for c = 2, 3 do
@@ -223,8 +228,12 @@ function CalcsTabClass:Draw(viewPort, inputEvents)
end
end
elseif section.group == 2 then
-- Group 2: Defense (the first 4 sections)
-- This group is put entirely into the 4th column
col = 4
elseif section.group == 3 then
-- Group 3: Defense (the remaining sections)
-- This group is put into a 5th column if there's room for one, otherwise they are handled separately
if maxCol >= 5 then
col = 5
end
@@ -240,13 +249,16 @@ function CalcsTabClass:Draw(viewPort, inputEvents)
end
end
if maxCol < 5 then
-- There's no room for a 5th column
-- Each section from group 3 will instead be placed into column 4 if there's room, otherwise they'll be put in columns 1-3
for c = 1, 3 do
colY[c] = m_max(colY[1], colY[2], colY[3])--maxY
colY[c] = m_max(colY[1], colY[2], colY[3])
end
for _, section in ipairs(self.sectionList) do
if section.enabled and section.group == 3 then
local col = 4
if colY[col] + section.height + 4 >= m_max(viewPort.y + viewPort.height, maxY) then
-- No room in the 4th column, find the highest available location in columns 1-4
local minY = colY[col]
for c = 3, 1, -1 do
if colY[c] < minY then
@@ -265,6 +277,7 @@ function CalcsTabClass:Draw(viewPort, inputEvents)
self.controls.scrollBar.height = viewPort.height
self.controls.scrollBar:SetContentDimension(maxY - baseY, viewPort.height)
for _, section in ipairs(self.sectionList) do
-- Give sections their actual Y position and let them update
section.y = section.y - self.controls.scrollBar.offset
section:UpdatePos()
end

View File

@@ -220,7 +220,7 @@ function ConfigTabClass:Draw(viewPort, inputEvents)
for _, section in ipairs(self.sectionList) do
local y = 14
for _, varControl in ipairs(section.varControlList) do
if varControl:IsEnabled() then
if varControl:IsShown() then
varControl.y = y
y = y + 20
end

View File

@@ -106,7 +106,7 @@ function ItemDBClass:DoesItemMatchFilters(item)
if not found then
searchStr = searchStr:gsub(" ","")
for i, mod in pairs(item.baseModList) do
if mod.name:lower():gsub("_",""):match(searchStr) then
if mod.name:lower():match(searchStr) then
found = true
break
end

View File

@@ -43,19 +43,29 @@ local ItemsTabClass = common.NewClass("ItemsTab", "UndoHandler", "ControlHost",
-- Build item list
self.controls.itemList = common.New("ItemList", {"TOPLEFT",self.slots[baseSlots[1]],"TOPRIGHT"}, 20, 0, 360, 308, self)
-- Database selector
self.controls.selectDBLabel = common.New("LabelControl", {"TOPLEFT",self.controls.itemList,"BOTTOMLEFT"}, 0, 14, 0, 16, "^7Import from:")
self.controls.selectDBLabel.shown = function()
return self.height < 984
end
self.controls.selectDB = common.New("DropDownControl", {"LEFT",self.controls.selectDBLabel,"RIGHT"}, 4, 0, 150, 18, { "Uniques", "Rare Templates" })
-- Unique database
self.controls.uniqueDB = common.New("ItemDB", {"TOPLEFT",self.controls.selectDBLabel,"BOTTOMLEFT"}, 0, 46, 360, 260, self, main.uniqueDB)
self.controls.uniqueDB = common.New("ItemDB", {"TOPLEFT",self.controls.itemList,"BOTTOMLEFT"}, 0, 76, 360, 260, self, main.uniqueDB)
self.controls.uniqueDB.y = function()
return self.controls.selectDBLabel:IsShown() and 76 or 54
end
self.controls.uniqueDB.shown = function()
return self.controls.selectDB.sel == 1
return not self.controls.selectDBLabel:IsShown() or self.controls.selectDB.sel == 1
end
-- Rare template database
self.controls.rareDB = common.New("ItemDB", {"TOPLEFT",self.controls.selectDBLabel,"BOTTOMLEFT"}, 0, 46, 360, 260, self, main.rareDB)
self.controls.rareDB = common.New("ItemDB", {"TOPLEFT",self.controls.itemList,"BOTTOMLEFT"}, 0, 76, 360, 260, self, main.rareDB)
self.controls.rareDB.y = function()
return self.controls.selectDBLabel:IsShown() and 76 or 370
end
self.controls.rareDB.shown = function()
return self.controls.selectDB.sel == 2
return not self.controls.selectDBLabel:IsShown() or self.controls.selectDB.sel == 2
end
-- Display item
@@ -364,7 +374,7 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode)
else
main:AddTooltipLine(20, rarityCode..item.name)
end
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
-- Special fields for database items
if dbMode and (item.variantList or item.league or item.unreleased) then
@@ -381,7 +391,7 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode)
if item.unreleased then
main:AddTooltipLine(16, "^1Not yet available")
end
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
end
local base = item.base
@@ -457,7 +467,7 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode)
main:AddTooltipLine(16, "^x7F7F7FLimited to: ^7"..item.limit)
end
end
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
-- Implicit/explicit modifiers
if item.modLines[1] then
@@ -475,8 +485,8 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode)
end
end
if index == item.implicitLines and item.modLines[index + 1] then
-- Add seperator between implicit and explicit modifiers
main:AddTooltipSeperator(10)
-- Add separator between implicit and explicit modifiers
main:AddTooltipSeparator(10)
end
end
end
@@ -484,11 +494,11 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode)
-- Corrupted item label
if item.corrupted then
if #item.modLines == item.implicitLines then
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
end
main:AddTooltipLine(16, "^1Corrupted")
end
main:AddTooltipSeperator(14)
main:AddTooltipSeparator(14)
-- Mod differences
local calcFunc, calcBase = self.build.calcsTab:GetItemCalculator()
@@ -535,7 +545,7 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode)
if launch.devMode and IsKeyDown("ALT") then
-- Modifier debugging info
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
for _, mod in ipairs(modList) do
main:AddTooltipLine(14, "^7"..modLib.formatMod(mod))
end

View File

@@ -15,5 +15,5 @@ end)
function LabelClass:Draw()
local x, y = self:GetPos()
DrawString(x, y, "LEFT", self.height, "VAR", self:GetProperty("label"))
DrawString(x, y, "LEFT", self:GetProperty("height"), "VAR", self:GetProperty("label"))
end

View File

@@ -494,8 +494,8 @@ function PassiveTreeViewClass:DoesNodeMatchSearchStr(node)
end
if not match and node.mods[index].list then
-- Then check modifiers
for k in pairs(node.mods[index].list) do
errMsg, match = PCall(string.match, k, self.searchStr)
for _, mod in ipairs(node.mods[index].list) do
errMsg, match = PCall(string.match, mod.name, self.searchStr)
if match then
return true
end
@@ -513,7 +513,7 @@ function PassiveTreeViewClass:AddNodeTooltip(node, build)
else
main:AddTooltipLine(24, "^7"..node.dn..(launch.devMode and IsKeyDown("ALT") and " ["..node.id.."]" or ""))
end
main:AddTooltipSeperator(14)
main:AddTooltipSeparator(14)
main:AddTooltipLine(14, "^x80A080Tip: Right click this socket to go to the items page and choose the jewel for this socket.")
return
end
@@ -550,7 +550,7 @@ function PassiveTreeViewClass:AddNodeTooltip(node, build)
-- Reminder text
if node.reminderText then
main:AddTooltipSeperator(14)
main:AddTooltipSeparator(14)
for _, line in ipairs(node.reminderText) do
main:AddTooltipLine(14, "^xA0A080"..line)
end
@@ -559,7 +559,7 @@ function PassiveTreeViewClass:AddNodeTooltip(node, build)
-- Mod differences
local calcFunc, calcBase = build.calcsTab:GetNodeCalculator(build)
if calcFunc then
main:AddTooltipSeperator(14)
main:AddTooltipSeparator(14)
local pathLength
local nodeOutput, pathOutput
if node.alloc then
@@ -589,7 +589,7 @@ function PassiveTreeViewClass:AddNodeTooltip(node, build)
-- Pathing distance
if node.path and #node.path > 0 then
main:AddTooltipSeperator(14)
main:AddTooltipSeparator(14)
main:AddTooltipLine(14, "^7"..#node.path .. " points to node")
if #node.path > 1 then
-- Handy hint!

View File

@@ -137,11 +137,11 @@ function SkillListClass:Draw(viewPort)
local gemShown = { }
if ttGroup.sourceItem then
main:AddTooltipLine(18, "^7Source: "..data.colorCodes[ttGroup.sourceItem.rarity]..ttGroup.sourceItem.name)
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
end
for index, activeSkill in ipairs(ttGroup.displaySkillList) do
if index > 1 then
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
end
main:AddTooltipLine(16, "^7Active Skill #"..index..":")
for _, gem in ipairs(activeSkill.gemList) do
@@ -162,7 +162,7 @@ function SkillListClass:Draw(viewPort)
if not gemShown[gem] then
if showOtherHeader then
showOtherHeader = false
main:AddTooltipSeperator(10)
main:AddTooltipSeparator(10)
main:AddTooltipLine(16, "^7Inactive Gems:")
end
local reason = ""

View File

@@ -415,7 +415,7 @@ function main:AddTooltipLine(size, text)
end
end
function main:AddTooltipSeperator(size)
function main:AddTooltipSeparator(size)
t_insert(self.tooltipLines, { size = size })
end

View File

@@ -80,9 +80,10 @@ Other changes:
* Moving these into a dedicated tab will provide room for more options to be added in the future
* The names of many options have been changed to clarify their function
* Some options now have tooltips that explain aspects of their function
* The new class background artworks have been added to the passive skill tree
* Unsupported modifiers are now shown in red instead of white to help convey the fact that they won't work
* The new class background artworks have been added to the passive skill tree
* The required level for a build's passive tree is now shown when hovering over the points display
* The Items tab will now display both source lists (Uniques and Rares) if there's room
* Support gem compatability is now determined using the same data the game itself uses, and should now be 100% accurate
### 1.1.11 - 2016/10/25

View File

@@ -29,9 +29,10 @@ Other changes:
* Moving these into a dedicated tab will provide room for more options to be added in the future
* The names of many options have been changed to clarify their function
* Some options now have tooltips that explain aspects of their function
* The new class background artworks have been added to the passive skill tree
* Unsupported modifiers are now shown in red instead of white to help convey the fact that they won't work
* The new class background artworks have been added to the passive skill tree
* The required level for a build's passive tree is now shown when hovering over the points display
* The Items tab will now display both source lists (Uniques and Rares) if there's room
* Support gem compatability is now determined using the same data the game itself uses, and should now be 100% accurate
VERSION[1.1.11][2016/10/25]
* Added flat mana to ES armour rare templates

View File

@@ -7,34 +7,34 @@
<File sha1="6bb074e0d3a4043f0e5dcbd25c33f8e5e1f5cfe0" name="Launch.lua" part="program"/>
<File sha1="93e19c2a160eb49993d50d9e2b47ea79962373d9" name="UpdateCheck.lua" part="program"/>
<File sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" name="UpdateApply.lua" part="program"/>
<File sha1="00fd324c3bd6292e6bcf50eb237846d8504ee0ae" name="changelog.txt" part="program"/>
<File sha1="132831acfb4abf18efad004e4e48c7747a43dd02" name="changelog.txt" part="program"/>
<File sha1="ea886e9e8ce013ed7d8805174d43becdca1f533e" name="Classes/BuildListControl.lua" part="program"/>
<File sha1="e42437dd7e1b5a1032f1be9852ede4399a003826" name="Classes/ButtonControl.lua" part="program"/>
<File sha1="9b458889148f4cf0e521e2d1090213da84bf3176" name="Classes/CalcBreakdownControl.lua" part="program"/>
<File sha1="7584ee2977e9e4d1351fdc80caa700301d422e7b" name="Classes/CalcSectionControl.lua" part="program"/>
<File sha1="dd707e5d9fefe00cbbbd51cefa94b6de04347b65" name="Classes/CalcsTab.lua" part="program"/>
<File sha1="536682686e103cd1bc589c6c9f8dab0e6ac93310" name="Classes/CalcBreakdownControl.lua" part="program"/>
<File sha1="23171916fa590c5344b17e67bd8d378574922388" name="Classes/CalcSectionControl.lua" part="program"/>
<File sha1="808e7190ff6f97a6bf68c52b848563e96eade7dc" name="Classes/CalcsTab.lua" part="program"/>
<File sha1="690f0d9d9ba0cd8092eb660d5d83bb0b9ad9f37d" name="Classes/CheckBoxControl.lua" part="program"/>
<File sha1="130c54c6f5ea929d90128fbd576191833b995dab" name="Classes/ConfigTab.lua" part="program"/>
<File sha1="cc189c54962246366d8d72ac7e4800553696a91f" name="Classes/ConfigTab.lua" part="program"/>
<File sha1="bbb08f183746d6ec023e2bd08fb7a89d365381da" name="Classes/Control.lua" part="program"/>
<File sha1="ae55fe1093e727872bc01cc94fa987395f944313" name="Classes/ControlHost.lua" part="program"/>
<File sha1="8305ea8d306a13160c369c474d19b05024a1f5ef" name="Classes/DropDownControl.lua" part="program"/>
<File sha1="83b030df704dc509cba978298526e03699d8ee3b" name="Classes/EditControl.lua" part="program"/>
<File sha1="dca9446ea1a4846f6de2147b25df7818826f9942" name="Classes/GemSelectControl.lua" part="program"/>
<File sha1="7a1150c0605ff912d8466e8c03fd242fd8140cfd" name="Classes/ImportTab.lua" part="program"/>
<File sha1="3b66dcf4b639a99692463ed28a8ba4dc31b332fa" name="Classes/ItemDBControl.lua" part="program"/>
<File sha1="a9d92fa939c186706876a869540364647718be38" name="Classes/ItemDBControl.lua" part="program"/>
<File sha1="1d35b4c7c20bb6380c8b739658101fb1bf37cc3c" name="Classes/ItemListControl.lua" part="program"/>
<File sha1="b547357491a4faec1d007ae44604b75e05a2613c" name="Classes/ItemSlotControl.lua" part="program"/>
<File sha1="e470dc81148fc9079a0a31ea3b24f5f04754c331" name="Classes/ItemsTab.lua" part="program"/>
<File sha1="e577edeea7685cb2b0cd0d00b901a458ae45add0" name="Classes/LabelControl.lua" part="program"/>
<File sha1="8a6ecf99f65c0fad73cf98da0957e58b0d63236a" name="Classes/ItemsTab.lua" part="program"/>
<File sha1="62138c7db82d57d638a16610a26acd0de75d3486" name="Classes/LabelControl.lua" part="program"/>
<File sha1="a26d1a34424222856ad018ac43e3c7895d7f05b5" name="Classes/ModDB.lua" part="program"/>
<File sha1="a3ed881ebe1ed7c8931675937b4661d77decc316" name="Classes/ModList.lua" part="program"/>
<File sha1="6f8f98d6ee505af53441c1fe9ad74fbff86d56ad" name="Classes/PassiveSpec.lua" part="program"/>
<File sha1="9a6bce38a62d9c07851cdd095e91f088e37cea4e" name="Classes/PassiveTree.lua" part="program"/>
<File sha1="93dbcaa94237666391a2259a18834b7c479d14bb" name="Classes/PassiveTreeView.lua" part="program"/>
<File sha1="0e09809d52403cdd10bbbd17f673f76dfee9c5db" name="Classes/PassiveTreeView.lua" part="program"/>
<File sha1="b5d4e4e7cedcabefa029cdefc74db5ac0a82d87f" name="Classes/PopupDialog.lua" part="program"/>
<File sha1="86fee3127d9520144fc741f6fccc3c1d9f1aa532" name="Classes/ScrollBarControl.lua" part="program"/>
<File sha1="261dcf54a4542e6160fd7024d8edf4fc095d9c71" name="Classes/SectionControl.lua" part="program"/>
<File sha1="ae0f25f993f6f5950469c34e4e2b9b441b5ad5f5" name="Classes/SkillListControl.lua" part="program"/>
<File sha1="48da9a792d6c23ab2bf4821388bdca8b5a09cd62" name="Classes/SkillListControl.lua" part="program"/>
<File sha1="272f67304f7f41b6335e19b14479e131c54766fe" name="Classes/SkillsTab.lua" part="program"/>
<File sha1="6317bd9ba391832dccafcb62409a5ce2988d1928" name="Classes/SliderControl.lua" part="program"/>
<File sha1="80527e0e05c986355ce7af2ba026538aec99a63a" name="Classes/SlotSelectControl.lua" part="program"/>
@@ -48,7 +48,7 @@
<File sha1="f207df4010cb3c7bc6cce98be2529a3b8a708b8f" name="Modules/Common.lua" part="program"/>
<File sha1="132f51b4be7890360f478df52bc6c77772db75cc" name="Modules/Data.lua" part="program"/>
<File sha1="5ddfa4a5904cefbf2755c231797175c8ae24ac49" name="Modules/ItemTools.lua" part="program"/>
<File sha1="ea30ad5ca76b766665ee8a270dcd0068383ad70f" name="Modules/Main.lua" part="program"/>
<File sha1="6c78d33c66ebd76910f983b14c7b6a9e4f354bb1" name="Modules/Main.lua" part="program"/>
<File sha1="ede733f8389fb4c5854304fbc20e2be925a3f5d3" name="Modules/ModParser.lua" part="program"/>
<File sha1="5f93a9d8f58e0d5990a1f84e1ab1d53fbd35fb56" name="Modules/ModTools.lua" part="program"/>
<File sha1="e7ee7e5b6388facb7bf568517ecc401590757df7" name="Assets/ring.png" part="program"/>