diff --git a/src/Classes/GemSelectControl.lua b/src/Classes/GemSelectControl.lua index 84257eff4c..36028fcc8d 100644 --- a/src/Classes/GemSelectControl.lua +++ b/src/Classes/GemSelectControl.lua @@ -12,12 +12,6 @@ local m_max = math.max local m_floor = math.floor local toolTipText = "Prefix tag searches with a colon and exclude tags with a dash. e.g. :fire:lightning:-cold:area" -local altQualMap = { - ["Default"] = "", - ["Alternate1"] = "Anomalous ", - ["Alternate2"] = "Divergent ", - ["Alternate3"] = "Phantasmal ", -} local GemSelectClass = newClass("GemSelectControl", "EditControl", function(self, anchor, rect, skillsTab, index, changeFunc, forceTooltip) self.EditControl(anchor, rect, nil, nil, "^ %a':-") @@ -58,7 +52,7 @@ local GemSelectClass = newClass("GemSelectControl", "EditControl", function(self } end) -function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, qualityId, useFullDPS) +function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, useFullDPS) local gemList = self.skillsTab.displayGroup.gemList local displayGemList = self.skillsTab.displayGroup.displayGemList local oldGem @@ -67,7 +61,6 @@ function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, qualityId, useF else gemList[self.index] = { level = gemData.naturalMaxLevel, - qualityId = qualityId, quality = self.skillsTab.defaultGemQuality or 0, count = 1, enabled = true, @@ -84,9 +77,6 @@ function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, qualityId, useF gemInstance.level = self.skillsTab:ProcessGemLevel(gemData) gemInstance.gemData = gemData gemInstance.displayEffect = nil - if gemInstance.qualityId == nil or gemInstance.qualityId == "" then - gemInstance.qualityId = "Default" - end -- Calculate the impact of using this gem local output = calcFunc(nil, useFullDPS) -- Put the original gem back into the list @@ -120,23 +110,13 @@ function GemSelectClass:PopulateGemList() self.gems["Default:" .. gemId] = gemData end elseif showNormal or showAll then - if self.skillsTab.showAltQualityGems and (self.skillsTab.defaultGemQuality or 0) > 0 then - for _, altQual in ipairs(self.skillsTab:getGemAltQualityList(gemData)) do - self.gems[altQual.type .. ":" .. gemId] = gemData - end - else - self.gems["Default:" .. gemId] = gemData - end + self.gems["Default:" .. gemId] = gemData end end end end end -function GemSelectClass:GetQualityType(gemId) - return gemId and gemId:gsub(":.+","") or "Default" -end - function GemSelectClass:FilterSupport(gemId, gemData) local showSupportTypes = self.skillsTab.showSupportGemTypes local isLegacyAwakened = (gemData.grantedEffect.legacy and gemData.grantedEffect.plusVersionOf) @@ -147,7 +127,6 @@ function GemSelectClass:FilterSupport(gemId, gemData) or showSupportTypes == "ALL" or (showSupportTypes == "NORMAL" and not (isLegacyAwakened or gemData.tagString:match("Exceptional"))) or (showSupportTypes == "EXCEPTIONAL" and (isLegacyAwakened or gemData.tagString:match("Exceptional")))) - and (self.skillsTab.showAltQualityGems or (not self.skillsTab.showAltQualityGems and self:GetQualityType(gemId) == "Default")) end function GemSelectClass:BuildList(buf) @@ -177,7 +156,7 @@ function GemSelectClass:BuildList(buf) for i, pattern in ipairs(patternList) do local matchList = { } for gemId, gemData in pairs(self.gems) do - if self:FilterSupport(gemId, gemData) and not added[gemId] and ((" "..gemData.name:lower()):match(pattern) or altQualMap[self:GetQualityType(gemId)]:lower():match(pattern)) then + if self:FilterSupport(gemId, gemData) and not added[gemId] and ((" "..gemData.name:lower()):match(pattern)) then addThisGem = true if #tagsList > 0 then for _, tag in ipairs(tagsList) do @@ -259,12 +238,11 @@ function GemSelectClass:UpdateSortCache() and sortCache.outputRevision == self.skillsTab.build.outputRevision and sortCache.defaultLevel == self.skillsTab.defaultGemLevel and (sortCache.characterLevel == self.skillsTab.build.characterLevel or self.skillsTab.defaultGemLevel ~= "characterLevel") and sortCache.defaultQuality == self.skillsTab.defaultGemQuality and sortCache.sortType == self.skillsTab.sortGemsByDPSField - and sortCache.considerAlternates == self.skillsTab.showAltQualityGems and sortCache.considerGemType == self.skillsTab.showSupportGemTypes - and sortCache.showLegacyGems == self.skillsTab.showLegacyGems then + and sortCache.considerGemType == self.skillsTab.showSupportGemTypes and sortCache.showLegacyGems == self.skillsTab.showLegacyGems then return end - if not sameSortBy or not sortCache or (sortCache.considerAlternates ~= self.skillsTab.showAltQualityGems or sortCache.considerGemType ~= self.skillsTab.showSupportGemTypes + if not sameSortBy or not sortCache or (sortCache.considerGemType ~= self.skillsTab.showSupportGemTypes or sortCache.showLegacyGems ~= self.skillsTab.showLegacyGems or sortCache.defaultQuality ~= self.skillsTab.defaultGemQuality or sortCache.defaultLevel ~= self.skillsTab.defaultGemLevel @@ -276,7 +254,6 @@ function GemSelectClass:UpdateSortCache() -- Initialize a new sort cache sortCache = { considerGemType = self.skillsTab.showSupportGemTypes, - considerAlternates = self.skillsTab.showAltQualityGems, showLegacyGems = self.skillsTab.showLegacyGems, socketGroup = self.skillsTab.displayGroup, gemInstance = self.skillsTab.displayGroup.gemList[self.index], @@ -346,7 +323,7 @@ function GemSelectClass:UpdateSortCache() sortCache.dps[gemId] = baseDPS -- Ignore gems that don't support the active skill if sortCache.canSupport[gemId] or (gemData.grantedEffect.hasGlobalEffect and not gemData.grantedEffect.support) then - local output = self:CalcOutputWithThisGem(calcFunc, gemData, self:GetQualityType(gemId), useFullDPS) + local output = self:CalcOutputWithThisGem(calcFunc, gemData, useFullDPS) -- Check for nil because some fields may not be populated, default to 0 sortCache.dps[gemId] = (dpsField == "FullDPS" and output[dpsField] ~= nil and output[dpsField]) or (output.Minion and output.Minion.CombinedDPS) or (output[dpsField] ~= nil and output[dpsField]) or 0 end @@ -391,7 +368,7 @@ function GemSelectClass:UpdateGem(setText, addUndo) if setText then self:SetText(self.gemName) end - self.gemChangeFunc(self.gemId and self.gemId:gsub("%w+:", ""), self:GetQualityType(self.gemId), addUndo and self.gemName ~= self.initialBuf) + self.gemChangeFunc(self.gemId and self.gemId:gsub("%w+:", ""), addUndo and self.gemName ~= self.initialBuf) end function GemSelectClass:ScrollSelIntoView() @@ -471,9 +448,6 @@ function GemSelectClass:Draw(viewPort, noTooltip) end end local gemText = gemData and gemData.name or "" - if gemId and gemId ~= "" then - gemText = altQualMap[self:GetQualityType(gemId)] .. gemText - end DrawString(0, y, "LEFT", height - 4, "VAR", gemText) if gemData then if gemData.grantedEffect.support and self.sortCache.canSupport[gemId] then @@ -492,11 +466,9 @@ function GemSelectClass:Draw(viewPort, noTooltip) if calcFunc then self.tooltip:Clear() local gemData = self.gems[self.list[self.hoverSel]] - local qualityType = self:GetQualityType(self.list[self.hoverSel]) - local output= self:CalcOutputWithThisGem(calcFunc, gemData, qualityType, self.skillsTab.sortGemsByDPSField == "FullDPS") + local output= self:CalcOutputWithThisGem(calcFunc, gemData, self.skillsTab.sortGemsByDPSField == "FullDPS") local gemInstance = { level = self.skillsTab:ProcessGemLevel(gemData), - qualityId = qualityType, quality = self.skillsTab.defaultGemQuality or 0, count = 1, enabled = true, @@ -537,10 +509,6 @@ function GemSelectClass:Draw(viewPort, noTooltip) local cursorX, cursorY = GetCursorPos() self.tooltip:Clear() if gemInstance and gemInstance.gemData then - -- Check valid qualityId, set to 'Default' if missing - if gemInstance.qualityId == nil or gemInstance.qualityId == "" then - gemInstance.qualityId = "Default" - end self:AddGemTooltip(gemInstance) else self.tooltip:AddLine(16, toolTipText) @@ -599,7 +567,7 @@ function GemSelectClass:AddGemTooltip(gemInstance) if secondary and (not secondary.support or gemInstance.gemData.secondaryEffectName) then local grantedEffect = gemInstance.gemData.VaalGem and secondary or primary local grantedEffectSecondary = gemInstance.gemData.VaalGem and primary or secondary - self.tooltip:AddLine(fontSizeTitle, colorCodes.GEM .. altQualMap[gemInstance.qualityId]..grantedEffect.name, "FONTIN SC") + self.tooltip:AddLine(fontSizeTitle, colorCodes.GEM..grantedEffect.name, "FONTIN SC") self.tooltip:AddSeparator(10) self.tooltip:AddLine(fontSizeBig, "^x7F7F7F" .. gemInstance.gemData.tagString, "FONTIN SC") self:AddCommonGemInfo(gemInstance, grantedEffect, true) @@ -609,7 +577,7 @@ function GemSelectClass:AddGemTooltip(gemInstance) self:AddCommonGemInfo(gemInstance, grantedEffectSecondary) else local grantedEffect = gemInstance.gemData.grantedEffect - self.tooltip:AddLine(fontSizeTitle, colorCodes.GEM .. altQualMap[gemInstance.qualityId]..grantedEffect.name, "FONTIN SC") + self.tooltip:AddLine(fontSizeTitle, colorCodes.GEM..grantedEffect.name, "FONTIN SC") self.tooltip:AddSeparator(10) if grantedEffect.legacy then self.tooltip:AddLine(fontSizeTitle, colorCodes.WARNING .. "Legacy Gem", "FONTIN SC") diff --git a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua index 1427ff4a97..2c0461200f 100644 --- a/src/Classes/ImportTab.lua +++ b/src/Classes/ImportTab.lua @@ -1116,11 +1116,11 @@ function ImportTabClass:ImportSocketedItems(item, socketedItems, slotName) self:ImportItem(socketedItem, slotName .. " Abyssal Socket "..abyssalSocketId) abyssalSocketId = abyssalSocketId + 1 else - local normalizedBasename, qualityType = self.build.skillsTab:GetBaseNameAndQuality(socketedItem.typeLine, nil) + local normalizedBasename = sanitiseText(socketedItem.typeLine) local gemId = self.build.data.gemForBaseName[normalizedBasename:lower()] if socketedItem.hybrid then -- Used by transfigured gems and dual-skill gems (currently just Stormbind) - normalizedBasename, qualityType = self.build.skillsTab:GetBaseNameAndQuality(socketedItem.hybrid.baseTypeName, nil) + normalizedBasename = sanitiseText(socketedItem.hybrid.baseTypeName) gemId = self.build.data.gemForBaseName[normalizedBasename:lower()] if gemId and socketedItem.hybrid.isVaalGem then gemId = self.build.data.gemGrantedEffectIdForVaalGemId[self.build.data.gems[gemId].grantedEffectId] @@ -1130,7 +1130,6 @@ function ImportTabClass:ImportSocketedItems(item, socketedItems, slotName) local gemInstance = { level = 20, quality = 0, enabled = true, enableGlobal1 = true, gemId = gemId } gemInstance.nameSpec = self.build.data.gems[gemId].name gemInstance.support = socketedItem.support - gemInstance.qualityId = qualityType for _, property in pairs(socketedItem.properties) do if property.name == "Level" then gemInstance.level = tonumber(property.values[1][1]:match("%d+")) diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index b74a1232dd..67f18066ad 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -75,13 +75,6 @@ local sortGemTypeList = { { label = "Effective Hit Pool", type = "TotalEHP" }, } -local alternateGemQualityList ={ - { label = "Default", type = "Default" }, - { label = "Anomalous", type = "Alternate1" }, - { label = "Divergent", type = "Alternate2" }, - { label = "Phantasmal", type = "Alternate3" }, -} - local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Control", function(self, build) self.UndoHandler() self.ControlHost() @@ -94,7 +87,6 @@ local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Cont self.sortGemsByDPS = true self.sortGemsByDPSField = "CombinedDPS" self.showSupportGemTypes = "ALL" - self.showAltQualityGems = false self.showLegacyGems = false self.defaultGemLevel = "normalMaximum" self.defaultGemQuality = main.defaultGemQuality @@ -128,7 +120,7 @@ local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Cont -- Gem options local optionInputsX = 170 local optionInputsY = 45 - self.controls.optionSection = new("SectionControl", { "TOPLEFT", self.controls.groupList, "BOTTOMLEFT" }, { 0, optionInputsY + 50, 360, 180 }, "Gem Options") + self.controls.optionSection = new("SectionControl", { "TOPLEFT", self.controls.groupList, "BOTTOMLEFT" }, { 0, optionInputsY + 50, 360, 156 }, "Gem Options") self.controls.sortGemsByDPS = new("CheckBoxControl", { "TOPLEFT", self.controls.groupList, "BOTTOMLEFT" }, { optionInputsX, optionInputsY + 70, 20 }, "Sort gems by DPS:", function(state) self.sortGemsByDPS = state end, nil, true) @@ -153,10 +145,7 @@ local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Cont self.showSupportGemTypes = value.show end) self.controls.showSupportGemTypesLabel = new("LabelControl", { "RIGHT", self.controls.showSupportGemTypes, "LEFT" }, { -4, 0, 0, 16 }, "^7Show support gems:") - self.controls.showAltQualityGems = new("CheckBoxControl", { "TOPLEFT", self.controls.groupList, "BOTTOMLEFT" }, { optionInputsX, optionInputsY + 166, 20 }, "^7Show quality variants:", function(state) - self.showAltQualityGems = state - end) - self.controls.showLegacyGems = new("CheckBoxControl", { "TOPLEFT", self.controls.groupList, "BOTTOMLEFT" }, { optionInputsX, optionInputsY + 190, 20 }, "^7Show legacy gems:", function(state) + self.controls.showLegacyGems = new("CheckBoxControl", { "TOPLEFT", self.controls.groupList, "BOTTOMLEFT" }, { optionInputsX, optionInputsY + 166, 20 }, "^7Show legacy gems:", function(state) self.showLegacyGems = state end) @@ -272,33 +261,11 @@ will automatically apply to the skill.]] self:CreateGemSlot(1) self.controls.gemNameHeader = new("LabelControl", {"BOTTOMLEFT", self.gemSlots[1].nameSpec, "TOPLEFT"}, {0, -2, 0, 16}, "^7Gem name:") self.controls.gemLevelHeader = new("LabelControl", {"BOTTOMLEFT", self.gemSlots[1].level, "TOPLEFT"}, {0, -2, 0, 16}, "^7Level:") - self.controls.gemQualityIdHeader = new("LabelControl", {"BOTTOMLEFT", self.gemSlots[1].qualityId, "TOPLEFT"}, {0, -2, 0, 16}, "^7Variant:") self.controls.gemQualityHeader = new("LabelControl", {"BOTTOMLEFT", self.gemSlots[1].quality, "TOPLEFT"}, {0, -2, 0, 16}, "^7Quality:") self.controls.gemEnableHeader = new("LabelControl", {"BOTTOMLEFT", self.gemSlots[1].enabled, "TOPLEFT"}, {-16, -2, 0, 16}, "^7Enabled:") self.controls.gemCountHeader = new("LabelControl", {"BOTTOMLEFT", self.gemSlots[1].count, "TOPLEFT"}, {8, -2, 0, 16}, "^7Count:") end) --- parse real gem name and quality by omitting the first word if alt qual is set -function SkillsTabClass:GetBaseNameAndQuality(gemTypeLine, quality) - gemTypeLine = sanitiseText(gemTypeLine) - -- if quality is default or nil check the gem type line if we have alt qual by comparing to the existing list - if gemTypeLine and (quality == nil or quality == "" or quality == "Default") then - local firstword, otherwords = gemTypeLine:match("(%w+)%s(.+)") - if firstword and otherwords then - for _, entry in ipairs(alternateGemQualityList) do - if firstword == entry.label then - -- return the gem name minus without a leading space and the new resolved type - if entry.type == nil or entry.type == "" then - entry.type = "Default" - end - return otherwords, entry.type - end - end - end - end - -- no alt qual found, return gemTypeLine as is and either existing quality or Default if none is set - return gemTypeLine, quality or "Default" -end function SkillsTabClass:LoadSkill(node, skillSetId) if node.elem ~= "Skill" then @@ -351,13 +318,7 @@ function SkillsTabClass:LoadSkill(node, skillSetId) end gemInstance.level = tonumber(child.attrib.level) gemInstance.quality = tonumber(child.attrib.quality) - local nameSpecOverride, qualityOverrideId = SkillsTabClass:GetBaseNameAndQuality(gemInstance.nameSpec, child.attrib.qualityId) - gemInstance.nameSpec = nameSpecOverride - gemInstance.qualityId = qualityOverrideId - - if gemInstance.gemData then - gemInstance.qualityId.list = self:getGemAltQualityList(gemInstance.gemData) - end + gemInstance.nameSpec = sanitiseText(gemInstance.nameSpec) gemInstance.enabled = not child.attrib.enabled and true or child.attrib.enabled == "true" gemInstance.enableGlobal1 = not child.attrib.enableGlobal1 or child.attrib.enableGlobal1 == "true" gemInstance.enableGlobal2 = child.attrib.enableGlobal2 == "true" @@ -402,10 +363,6 @@ function SkillsTabClass:Load(xml, fileName) self.sortGemsByDPS = xml.attrib.sortGemsByDPS == "true" end self.controls.sortGemsByDPS.state = self.sortGemsByDPS - if xml.attrib.showAltQualityGems then - self.showAltQualityGems = xml.attrib.showAltQualityGems == "true" - end - self.controls.showAltQualityGems.state = self.showAltQualityGems if xml.attrib.showLegacyGems then self.showLegacyGems = xml.attrib.showLegacyGems == "true" end @@ -445,8 +402,7 @@ function SkillsTabClass:Save(xml) sortGemsByDPS = tostring(self.sortGemsByDPS), showSupportGemTypes = self.showSupportGemTypes, sortGemsByDPSField = self.sortGemsByDPSField, - showAltQualityGems = tostring(self.showAltQualityGems), - showLegacyGems = tostring(self.showLegacyGems) + showLegacyGems = tostring(self.showLegacyGems), } for _, skillSetId in ipairs(self.skillSetOrderList) do local skillSet = self.skillSets[skillSetId] @@ -472,7 +428,6 @@ function SkillsTabClass:Save(xml) variantId = gemInstance.gemData and gemInstance.gemData.variantId, level = tostring(gemInstance.level), quality = tostring(gemInstance.quality), - qualityId = gemInstance.qualityId, enabled = tostring(gemInstance.enabled), enableGlobal1 = tostring(gemInstance.enableGlobal1), enableGlobal2 = tostring(gemInstance.enableGlobal2), @@ -568,7 +523,7 @@ function SkillsTabClass:CopySocketGroup(socketGroup) skillText = skillText .. "Slot: " .. socketGroup.slot .. "\r\n" end for _, gemInstance in ipairs(socketGroup.gemList) do - skillText = skillText .. string.format("%s %d/%d %s %s %d\r\n", gemInstance.nameSpec, gemInstance.level, gemInstance.quality, gemInstance.qualityId, gemInstance.enabled and "" or "DISABLED", gemInstance.count or 1) + skillText = skillText .. string.format("%s %d/%d %s %s %d\r\n", gemInstance.nameSpec, gemInstance.level, gemInstance.quality, gemInstance.enabled and "" or "DISABLED", gemInstance.count or 1) end Copy(skillText) end @@ -585,12 +540,11 @@ function SkillsTabClass:PasteSocketGroup(testInput) if slot then newGroup.slot = slot end - for nameSpec, level, quality, qualityId, state, count in skillText:gmatch("([ %a']+) (%d+)/(%d+) (%a+%d?) ?(%a*) (%d+)") do + for nameSpec, level, quality, state, count in skillText:gmatch("([ %a']+) (%d+)/(%d+) (%a+%d?) ?(%a*) (%d+)") do t_insert(newGroup.gemList, { nameSpec = nameSpec, level = tonumber(level) or 20, quality = tonumber(quality) or 0, - qualityId = qualityId, enabled = state ~= "DISABLED", count = tonumber(count) or 1, enableGlobal1 = true, @@ -622,8 +576,6 @@ function SkillsTabClass:CreateGemSlot(index) self.gemSlots[index2].nameSpec:SetText(gemInstance.nameSpec) self.gemSlots[index2].level:SetText(gemInstance.level) self.gemSlots[index2].quality:SetText(gemInstance.quality) - self.gemSlots[index2].qualityId.list = self:getGemAltQualityList(gemInstance.gemData) - self.gemSlots[index2].qualityId:SelByValue(gemInstance.qualityId, "type") self.gemSlots[index2].enabled.state = gemInstance.enabled self.gemSlots[index2].enableGlobal1.state = gemInstance.enableGlobal1 self.gemSlots[index2].enableGlobal2.state = gemInstance.enableGlobal2 @@ -650,7 +602,7 @@ function SkillsTabClass:CreateGemSlot(index) self.controls["gemSlot"..index.."Delete"] = slot.delete -- Gem name specification - slot.nameSpec = new("GemSelectControl", { "LEFT", slot.delete, "RIGHT" }, { 2, 0, 300, 20 }, self, index, function(gemId, qualityId, addUndo) + slot.nameSpec = new("GemSelectControl", { "LEFT", slot.delete, "RIGHT" }, { 2, 0, 300, 20 }, self, index, function(gemId, addUndo) if not self.displayGroup then return end @@ -663,7 +615,6 @@ function SkillsTabClass:CreateGemSlot(index) nameSpec = "", level = 1, quality = self.defaultGemQuality or 0, - qualityId = "Default", enabled = true, enableGlobal1 = true, enableGlobal2 = true, @@ -673,7 +624,6 @@ function SkillsTabClass:CreateGemSlot(index) self.displayGroup.gemList[index] = gemInstance slot.level:SetText(gemInstance.level) slot.quality:SetText(gemInstance.quality) - slot.qualityId:SelByValue(gemInstance.qualityId) slot.enabled.state = true slot.enableGlobal1.state = true slot.enableGlobal2.state = true @@ -690,10 +640,6 @@ function SkillsTabClass:CreateGemSlot(index) -- New gems need to be constrained by ProcessGemLevel gemInstance.level = self:ProcessGemLevel(gemInstance.gemData) gemInstance.naturalMaxLevel = gemInstance.level - -- Gem changed, update the list and default the quality id - slot.qualityId.list = self:getGemAltQualityList(gemInstance.gemData) - slot.qualityId:SelByValue(qualityId or "Default", "type") - gemInstance.qualityId = qualityId or "Default" slot.level:SetText(gemInstance.level) slot.count:SetText(gemInstance.count or 1) if addUndo then @@ -708,11 +654,9 @@ function SkillsTabClass:CreateGemSlot(index) slot.level = new("EditControl", { "LEFT", slot.nameSpec, "RIGHT" }, { 2, 0, 60, 20 }, nil, nil, "%D", 2, function(buf) local gemInstance = self.displayGroup.gemList[index] if not gemInstance then - gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, qualityId = "Default", enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } + gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } self.displayGroup.gemList[index] = gemInstance - slot.qualityId.list = self:getGemAltQualityList(gemInstance.gemData) slot.quality:SetText(gemInstance.quality) - slot.qualityId:SelByValue(gemInstance.qualityId, "type") slot.enabled.state = true slot.enableGlobal1.state = true slot.count:SetText(gemInstance.count) @@ -728,123 +672,79 @@ function SkillsTabClass:CreateGemSlot(index) end self.controls["gemSlot"..index.."Level"] = slot.level - -- Gem quality id - slot.qualityId = new("DropDownControl", {"LEFT",slot.level,"RIGHT"}, {2, 0, 90, 20}, alternateGemQualityList, function(dropDownIndex, value) + -- Gem quality + slot.quality = new("EditControl", {"LEFT",slot.level,"RIGHT"}, {2, 0, 60, 20}, nil, nil, "%D", 2, function(buf) local gemInstance = self.displayGroup.gemList[index] if not gemInstance then - gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, qualityId = "Default", enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } + gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } self.displayGroup.gemList[index] = gemInstance slot.level:SetText(gemInstance.level) slot.enabled.state = true slot.enableGlobal1.state = true slot.count:SetText(gemInstance.count) end - gemInstance.qualityId = value.type + gemInstance.quality = tonumber(buf) or self.defaultGemQuality or 0 self:ProcessSocketGroup(self.displayGroup) self:AddUndoState() self.build.buildFlag = true end) - slot.qualityId.enabled = function() - return index <= #self.displayGroup.gemList - end - slot.qualityId.tooltipFunc = function(tooltip) - -- Reset the tooltip - tooltip:Clear() - -- Get the gem instance from the skills - local gemInstance = self.displayGroup.gemList[index] - if not gemInstance then - return - end - local gemData = gemInstance.gemData - -- Get the hovered quality item - local hoveredQuality - if not slot.qualityId.dropped then - hoveredQuality = alternateGemQualityList[slot.qualityId.selIndex] - else - hoveredQuality = alternateGemQualityList[slot.qualityId.hoverSel] - end - -- gem data may not be initialized yet, or the quality may be nil, which happens when just floating over the dropdown - if not gemData or not hoveredQuality then - return - end - -- Function for both granted effect and secondary such as vaal - local addQualityLines = function(qualityList, grantedEffect) - tooltip:AddLine(18, colorCodes.GEM..grantedEffect.name) - -- Hardcoded to use 20% quality instead of grabbing from gem, this is for consistency and so we always show something - tooltip:AddLine(16, colorCodes.NORMAL.."At +20% Quality:") - for k, qual in pairs(qualityList) do - -- Do the stats one at a time because we're not guaranteed to get the descriptions in the same order we look at them here - local stats = { } - stats[qual[1]] = qual[2] * 20 - local descriptions = self.build.data.describeStats(stats, grantedEffect.statDescriptionScope, true) - -- line may be nil if the value results in no line due to not being enough quality - for _, line in ipairs(descriptions) do - if line then - -- Check if we have a handler for the mod in the gem's statMap or in the shared stat map for skills - if grantedEffect.statMap[qual[1]] or self.build.data.skillStatMap[qual[1]] then - tooltip:AddLine(16, colorCodes.MAGIC..line) - else - local line = colorCodes.UNSUPPORTED..line - line = main.notSupportedModTooltips and (line .. main.notSupportedTooltipText) or line - tooltip:AddLine(16, line) + slot.quality.tooltipFunc = function(tooltip) + if tooltip:CheckForUpdate(self.build.outputRevision, self.displayGroup) then + -- Get the gem instance from the skills + local gemInstance = self.displayGroup.gemList[index] + if not gemInstance then + return + end + local gemData = gemInstance.gemData + + -- Function for both granted effect and secondary such as vaal + local addQualityLines = function(qualityList, grantedEffect) + tooltip:AddLine(18, colorCodes.GEM..grantedEffect.name) + -- Hardcoded to use 20% quality instead of grabbing from gem, this is for consistency and so we always show something + tooltip:AddLine(16, colorCodes.NORMAL.."At +20% Quality:") + for k, qual in pairs(qualityList) do + -- Do the stats one at a time because we're not guaranteed to get the descriptions in the same order we look at them here + local stats = { } + stats[qual[1]] = qual[2] * 20 + local descriptions = self.build.data.describeStats(stats, grantedEffect.statDescriptionScope) + -- line may be nil if the value results in no line due to not being enough quality + for _, line in ipairs(descriptions) do + if line then + -- Check if we have a handler for the mod in the gem's statMap or in the shared stat map for skills + if grantedEffect.statMap[qual[1]] or self.build.data.skillStatMap[qual[1]] then + tooltip:AddLine(16, colorCodes.MAGIC..line) + else + local line = colorCodes.UNSUPPORTED..line + line = main.notSupportedModTooltips and (line .. main.notSupportedTooltipText) or line + tooltip:AddLine(16, line) + end end end end end - end - -- Check if there is a quality of this type for the effect - if gemData and gemData.grantedEffect.qualityStats and gemData.grantedEffect.qualityStats[hoveredQuality.type] then - local qualityTable = gemData.grantedEffect.qualityStats[hoveredQuality.type] - addQualityLines(qualityTable, gemData.grantedEffect) - end - if gemData and gemData.secondaryGrantedEffect and gemData.secondaryGrantedEffect.qualityStats and gemData.secondaryGrantedEffect.qualityStats[hoveredQuality.type] then - local qualityTable = gemData.secondaryGrantedEffect.qualityStats[hoveredQuality.type] - tooltip:AddSeparator(10) - addQualityLines(qualityTable, gemData.secondaryGrantedEffect) - end - -- Add stat comparisons for hovered quality (based on set quality) - if self.displayGroup.gemList[index] then + -- Check if there is quality for the effect + if gemData and gemData.grantedEffect and gemData.grantedEffect.qualityStats then + local qualityTable = gemData.grantedEffect.qualityStats + if qualityTable[1] then + addQualityLines(qualityTable, gemData.grantedEffect) + tooltip:AddSeparator(10) + end + end + if gemData and gemData.secondaryGrantedEffect and gemData.secondaryGrantedEffect.qualityStats then + local qualityTable = gemData.secondaryGrantedEffect.qualityStats + if qualityTable[1] then + addQualityLines(qualityTable, gemData.secondaryGrantedEffect) + tooltip:AddSeparator(10) + end + end + local calcFunc, calcBase = self.build.calcsTab:GetMiscCalculator(self.build) if calcFunc then - local tempQual = self.displayGroup.gemList[index].qualityId - self.displayGroup.gemList[index].qualityId = hoveredQuality.type - self:ProcessSocketGroup(self.displayGroup) + local storedQuality = self.displayGroup.gemList[index].quality + self.displayGroup.gemList[index].quality = 20 local output = calcFunc() - self.displayGroup.gemList[index].qualityId = tempQual - tooltip:AddSeparator(10) - self.build:AddStatComparesToTooltip(tooltip, calcBase, output, "^7Switching to this quality variant will give you:") - end - end - end - self.controls["gemSlot"..index.."QualityId"] = slot.qualityId - - -- Gem quality - slot.quality = new("EditControl", {"LEFT",slot.qualityId,"RIGHT"}, {2, 0, 60, 20}, nil, nil, "%D", 2, function(buf) - local gemInstance = self.displayGroup.gemList[index] - if not gemInstance then - gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, qualityId = "Default", enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } - self.displayGroup.gemList[index] = gemInstance - slot.level:SetText(gemInstance.level) - slot.enabled.state = true - slot.enableGlobal1.state = true - slot.count:SetText(gemInstance.count) - end - gemInstance.quality = tonumber(buf) or self.defaultGemQuality or 0 - self:ProcessSocketGroup(self.displayGroup) - self:AddUndoState() - self.build.buildFlag = true - end) - slot.quality.tooltipFunc = function(tooltip) - if tooltip:CheckForUpdate(self.build.outputRevision, self.displayGroup) then - if self.displayGroup.gemList[index] then - local calcFunc, calcBase = self.build.calcsTab:GetMiscCalculator(self.build) - if calcFunc then - local storedQuality = self.displayGroup.gemList[index].quality - self.displayGroup.gemList[index].quality = 20 - local output = calcFunc() - self.displayGroup.gemList[index].quality = storedQuality - self.build:AddStatComparesToTooltip(tooltip, calcBase, output, "^7Setting to 20 quality will give you:") - end + self.displayGroup.gemList[index].quality = storedQuality + self.build:AddStatComparesToTooltip(tooltip, calcBase, output, "^7Setting to 20 quality will give you:") end end end @@ -858,12 +758,10 @@ function SkillsTabClass:CreateGemSlot(index) slot.enabled = new("CheckBoxControl", {"LEFT",slot.quality,"RIGHT"}, {18, 0, 20}, nil, function(state) local gemInstance = self.displayGroup.gemList[index] if not gemInstance then - gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, qualityId = "Default", enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } + gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, enabled = true, enableGlobal1 = true, enableGlobal2 = true, count = 1, new = true } self.displayGroup.gemList[index] = gemInstance slot.level:SetText(gemInstance.level) slot.quality:SetText(gemInstance.quality) - slot.qualityId.list = self:getGemAltQualityList(gemInstance.gemData) - slot.qualityId:SelByValue(gemInstance.qualityId, "type") slot.count:SetText(gemInstance.count) end if not gemInstance.gemData.vaalGem then @@ -899,12 +797,10 @@ function SkillsTabClass:CreateGemSlot(index) slot.count = new("EditControl", {"LEFT",slot.enabled,"RIGHT"}, {18, 0, 60, 20}, nil, nil, "%D", 2, function(buf) local gemInstance = self.displayGroup.gemList[index] if not gemInstance then - gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, qualityId = "Default", enabled = true, enableGlobal1 = true, count = 1, new = true } + gemInstance = { nameSpec = "", level = self.defaultGemLevel or 20, quality = self.defaultGemQuality or 0, enabled = true, enableGlobal1 = true, count = 1, new = true } self.displayGroup.gemList[index] = gemInstance slot.level:SetText(gemInstance.level) - slot.qualityId.list = self:getGemAltQualityList(gemInstance.gemData) slot.quality:SetText(gemInstance.quality) - slot.qualityId:SelByValue(gemInstance.qualityId, "type") slot.enabled.state = true slot.enableGlobal1.state = true end @@ -984,17 +880,6 @@ function SkillsTabClass:CreateGemSlot(index) self.controls["gemSlot"..index.."EnableGlobal2"] = slot.enableGlobal2 end -function SkillsTabClass:getGemAltQualityList(gemData) - local altQualList = { } - - for indx, entry in ipairs(alternateGemQualityList) do - if gemData and (gemData.grantedEffect.qualityStats and gemData.grantedEffect.qualityStats[entry.type] or (gemData.secondaryGrantedEffect and gemData.secondaryGrantedEffect.qualityStats and gemData.secondaryGrantedEffect.qualityStats[entry.type])) then - t_insert(altQualList, entry) - end - end - return #altQualList > 0 and altQualList or {{ label = "Default", type = "Default" }} -end - -- Update the gem slot controls to reflect the currently displayed socket group function SkillsTabClass:UpdateGemSlots() if not self.displayGroup then @@ -1009,7 +894,6 @@ function SkillsTabClass:UpdateGemSlots() slot.nameSpec:SetText("") slot.level:SetText("") slot.quality:SetText("") - slot.qualityId:SelByValue("Default", "type") slot.enabled.state = false slot.count:SetText(1) else @@ -1170,8 +1054,6 @@ function SkillsTabClass:SetDisplayGroup(socketGroup) self.gemSlots[index].nameSpec:SetText(gemInstance.nameSpec) self.gemSlots[index].level:SetText(gemInstance.level) self.gemSlots[index].quality:SetText(gemInstance.quality) - self.gemSlots[index].qualityId.list = self:getGemAltQualityList(gemInstance.gemData) - self.gemSlots[index].qualityId:SelByValue(gemInstance.qualityId, "type") self.gemSlots[index].enabled.state = gemInstance.enabled self.gemSlots[index].enableGlobal1.state = gemInstance.enableGlobal1 self.gemSlots[index].enableGlobal2.state = gemInstance.enableGlobal2 diff --git a/src/Data/Skills/act_dex.lua b/src/Data/Skills/act_dex.lua index 371cf0a316..5b782e6f76 100644 --- a/src/Data/Skills/act_dex.lua +++ b/src/Data/Skills/act_dex.lua @@ -42,9 +42,7 @@ skills["AlchemistsMark"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "mark_skills_curse_effect_+%", 0.5 }, - }, + { "mark_skills_curse_effect_+%", 0.5 }, }, constantStats = { { "alchemists_mark_grant_attacker_x_flask_charges_when_hit_once_per_3s", 1 }, @@ -123,9 +121,7 @@ skills["Ambush"] = { travel = true, }, qualityStats = { - Default = { - { "ambush_additional_critical_strike_chance_permyriad", 50 }, - }, + { "ambush_additional_critical_strike_chance_permyriad", 50 }, }, constantStats = { { "skill_empower_limitation_specifier_for_stat_description", 3 }, @@ -221,9 +217,7 @@ skills["AnimateWeapon"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_animated_weapons_allowed", 0.1 }, - }, + { "base_number_of_animated_weapons_allowed", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 40000 }, @@ -329,9 +323,7 @@ skills["AnimateWeaponAltX"] = { skill("minionUseMainHandWeapon", true), }, qualityStats = { - Default = { - { "base_number_of_animated_weapons_allowed", 0.05 }, - }, + { "base_number_of_animated_weapons_allowed", 0.05 }, }, constantStats = { { "base_skill_effect_duration", 15000 }, @@ -433,9 +425,7 @@ skills["AnimateWeaponAltY"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_animated_weapons_allowed", 0.1 }, - }, + { "base_number_of_animated_weapons_allowed", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 40000 }, @@ -533,9 +523,7 @@ skills["VaalAnimateWeapon"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_animated_weapons_allowed", 0.1 }, - }, + { "base_number_of_animated_weapons_allowed", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 15000 }, @@ -626,9 +614,7 @@ skills["ArcticArmour"] = { duration = true, }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "arctic_armour_chill_when_hit_duration", 500 }, @@ -715,9 +701,7 @@ skills["VaalArcticArmour"] = { duration = true, }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "vaal_arctic_armour_damage_taken_+%_final_from_hits", -90 }, @@ -799,9 +783,7 @@ skills["ArtilleryBallista"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.05 }, - }, + { "base_number_of_arrows", 0.05 }, }, constantStats = { { "base_totem_range", 80 }, @@ -886,9 +868,7 @@ skills["ArtilleryBallistaAltX"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.05 }, - }, + { "base_number_of_arrows", 0.05 }, }, constantStats = { { "base_totem_range", 80 }, @@ -974,9 +954,7 @@ skills["ArtilleryBallistaAltY"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.05 }, - }, + { "base_number_of_arrows", 0.05 }, }, constantStats = { { "base_totem_range", 80 }, @@ -1073,9 +1051,7 @@ skills["Barrage"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "base_number_of_projectiles", 5 }, @@ -1163,9 +1139,7 @@ skills["BarrageAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "barrage_final_volley_fires_x_additional_projectiles_simultaneously", 0.2 }, - }, + { "barrage_final_volley_fires_x_additional_projectiles_simultaneously", 0.2 }, }, constantStats = { { "base_number_of_projectiles", 4 }, @@ -1241,9 +1215,7 @@ skills["BearTrap"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 50 }, - }, + { "base_skill_effect_duration", 50 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -1326,9 +1298,7 @@ skills["BearTrapAltX"] = { duration = true, }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 4 }, - }, + { "impale_debuff_effect_+%", 4 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -1430,9 +1400,7 @@ skills["BladeBlast"] = { skill("dpsBaseMultiplier", 1, { type = "Multiplier", var = "BladeBlastStage" }), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.05 }, - }, + { "active_skill_base_area_of_effect_radius", 0.05 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 14 }, @@ -1533,9 +1501,7 @@ skills["BladeBlastAltX"] = { skill("dpsBaseMultiplier", 1, { type = "Multiplier", var = "BladeBlastofUnloadingStage" }), }, qualityStats = { - Default = { - { "blade_burst_area_of_effect_+%_final_per_blade_vortex_blade_detonated", 1 }, - }, + { "blade_burst_area_of_effect_+%_final_per_blade_vortex_blade_detonated", 1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 16 }, @@ -1615,9 +1581,7 @@ skills["BladeBlastAltY"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 26 }, @@ -1695,10 +1659,8 @@ skills["BladeTrap"] = { trap = true, }, qualityStats = { - Default = { - { "base_trap_duration", 50 }, - { "base_weapon_trap_total_rotation_%", 5 }, - }, + { "base_trap_duration", 50 }, + { "base_weapon_trap_total_rotation_%", 5 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -1779,9 +1741,7 @@ skills["BladeTrapAltX"] = { trap = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 25 }, - }, + { "base_skill_effect_duration", 25 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -1868,9 +1828,7 @@ skills["BladeTrapAltY"] = { trap = true, }, qualityStats = { - Default = { - { "faster_bleed_%", 0.5 }, - }, + { "faster_bleed_%", 0.5 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -1997,9 +1955,7 @@ skills["BladeFlurry"] = { skill("radius", 14), }, qualityStats = { - Default = { - { "blade_flurry_damage_+%_final_while_at_max_stages", 1 }, - }, + { "blade_flurry_damage_+%_final_while_at_max_stages", 1 }, }, constantStats = { { "charged_attack_damage_per_stack_+%_final", 25 }, @@ -2116,9 +2072,7 @@ skills["BladeFlurryAltX"] = { skill("radius", 14), }, qualityStats = { - Default = { - { "blade_flurry_critical_strike_multiplier_+_while_at_max_stages", 2 }, - }, + { "blade_flurry_critical_strike_multiplier_+_while_at_max_stages", 2 }, }, constantStats = { { "display_max_charged_attack_stats", 6 }, @@ -2198,9 +2152,7 @@ skills["VaalBladeFlurry"] = { area = true, }, qualityStats = { - Default = { - { "charged_attack_damage_per_stack_+%_final", 0.25 }, - }, + { "charged_attack_damage_per_stack_+%_final", 0.25 }, }, constantStats = { { "vaal_charged_attack_damage_taken_+%_final", -50 }, @@ -2315,9 +2267,7 @@ skills["BladeVortex"] = { flag("Condition:HaveBladeVortex"), }, qualityStats = { - Default = { - { "blade_vortex_hit_rate_+%_per_blade", 0.25 }, - }, + { "blade_vortex_hit_rate_+%_per_blade", 0.25 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -2413,9 +2363,7 @@ skills["BladeVortexAltX"] = { flag("Condition:HaveBladeVortex"), }, qualityStats = { - Default = { - { "active_skill_physical_damage_+%_final", 1 }, - }, + { "active_skill_physical_damage_+%_final", 1 }, }, constantStats = { { "maximum_number_of_spinning_blades", 1 }, @@ -2516,9 +2464,7 @@ skills["VaalBladeVortex"] = { skill("VaalBladeVortexBlade", 10), }, qualityStats = { - Default = { - { "blade_vortex_hit_rate_+%_per_blade", 0.25 }, - }, + { "blade_vortex_hit_rate_+%_per_blade", 0.25 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -2611,9 +2557,7 @@ skills["Bladefall"] = { skill("radiusSecondaryLabel", "Volley Length:"), }, qualityStats = { - Default = { - { "bladefall_number_of_volleys", 0.05 }, - }, + { "bladefall_number_of_volleys", 0.05 }, }, constantStats = { { "bladefall_number_of_volleys", 5 }, @@ -2703,9 +2647,7 @@ skills["BladefallAltX"] = { area = true, }, qualityStats = { - Default = { - { "bladefall_number_of_volleys", 0.05 }, - }, + { "bladefall_number_of_volleys", 0.05 }, }, constantStats = { { "bladefall_number_of_volleys", 6 }, @@ -2785,9 +2727,7 @@ skills["BladefallAltY"] = { area = true, }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 2 }, - }, + { "impale_debuff_effect_+%", 2 }, }, constantStats = { { "bladefall_number_of_volleys", 5 }, @@ -2878,9 +2818,7 @@ skills["BladefallAltZ"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "maximum_number_of_blades_left_in_ground", 40 }, @@ -2981,9 +2919,7 @@ skills["BlastRain"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.05 }, - }, + { "base_number_of_arrows", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 100 }, @@ -3059,9 +2995,7 @@ skills["BlastRainAltX"] = { area = true, }, qualityStats = { - Default = { - { "fire_dot_multiplier_+", 1 }, - }, + { "fire_dot_multiplier_+", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 100 }, @@ -3151,9 +3085,7 @@ skills["BlinkArrow"] = { skill("minionUseBowAndQuiver", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -3239,9 +3171,7 @@ skills["BlinkArrowAltX"] = { skill("minionUseBowAndQuiver", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -3326,9 +3256,7 @@ skills["BlinkArrowAltY"] = { skill("minionUseBowAndQuiver", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -3422,9 +3350,7 @@ skills["BloodRage"] = { skill("thisIsNotABuff", true), }, qualityStats = { - Default = { - { "attack_speed_+%_granted_from_skill", 0.25 }, - }, + { "attack_speed_+%_granted_from_skill", 0.25 }, }, constantStats = { { "life_leech_from_physical_attack_damage_permyriad", 120 }, @@ -3499,9 +3425,7 @@ skills["BurningArrow"] = { projectile = true, }, qualityStats = { - Default = { - { "active_skill_ignite_damage_+%_final", 1 }, - }, + { "active_skill_ignite_damage_+%_final", 1 }, }, constantStats = { { "base_chance_to_ignite_%", 25 }, @@ -3575,9 +3499,7 @@ skills["BurningArrowAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "active_skill_ignite_damage_+%_final", 1 }, - }, + { "active_skill_ignite_damage_+%_final", 1 }, }, constantStats = { { "base_chance_to_ignite_%", 25 }, @@ -3651,9 +3573,7 @@ skills["VaalBurningArrow"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "active_skill_ignite_damage_+%_final", 1 }, - }, + { "active_skill_ignite_damage_+%_final", 1 }, }, constantStats = { { "base_chance_to_ignite_%", 50 }, @@ -3742,9 +3662,7 @@ skills["CausticArrow"] = { flag("dotIsCausticGround"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -3829,9 +3747,7 @@ skills["CausticArrowAltX"] = { skill("radiusLabel", "AoE Explosion:"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_chaos", 60 }, @@ -3917,9 +3833,7 @@ skills["VaalCausticArrow"] = { flag("dotIsCausticGround"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -4070,9 +3984,7 @@ skills["ChargedDash"] = { skill("showAverage", true, { type = "SkillPart", skillPart = 3 }), }, qualityStats = { - Default = { - { "charged_dash_skill_inherent_movement_speed_+%_final", 1 }, - }, + { "charged_dash_skill_inherent_movement_speed_+%_final", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -4197,9 +4109,7 @@ skills["ChargedDashAltX"] = { skill("showAverage", true, { type = "SkillPart", skillPart = 3 }), }, qualityStats = { - Default = { - { "charged_dash_damage_+%_final_per_stack", 1 }, - }, + { "charged_dash_damage_+%_final_per_stack", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -4279,9 +4189,7 @@ skills["CobraLash"] = { projectile = true, }, qualityStats = { - Default = { - { "number_of_chains", 0.1 }, - }, + { "number_of_chains", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_chaos", 60 }, @@ -4376,9 +4284,7 @@ skills["Conflagration"] = { duration = true, }, qualityStats = { - Default = { - { "napalm_arrow_detonation_hit_damage_+%_final", 1.5 }, - }, + { "napalm_arrow_detonation_hit_damage_+%_final", 1.5 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -4500,9 +4406,7 @@ skills["Cremation"] = { skill("explodeCorpse", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "cremation_fires_projectiles_faster_+%_final", 0.5 }, - }, + { "cremation_fires_projectiles_faster_+%_final", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 8000 }, @@ -4620,9 +4524,7 @@ skills["CremationAltX"] = { skill("explodeCorpse", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "cremation_fires_projectiles_faster_+%_final", 0.5 }, - }, + { "cremation_fires_projectiles_faster_+%_final", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 8000 }, @@ -4725,9 +4627,7 @@ skills["CremationAltY"] = { skill("radius", 15), }, qualityStats = { - Default = { - { "cremation_fires_projectiles_faster_+%_final", 0.5 }, - }, + { "cremation_fires_projectiles_faster_+%_final", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 2500 }, @@ -4845,9 +4745,7 @@ skills["Cyclone"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "cyclone_area_of_effect_+%_per_additional_melee_range", 0.25 }, - }, + { "cyclone_area_of_effect_+%_per_additional_melee_range", 0.25 }, }, constantStats = { { "cyclone_area_of_effect_+%_per_additional_melee_range", 15 }, @@ -4962,9 +4860,7 @@ skills["CycloneAltX"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "cyclone_attack_speed_+%_final_per_stage", 0.25 }, - }, + { "cyclone_attack_speed_+%_final_per_stage", 0.25 }, }, constantStats = { { "cyclone_area_of_effect_+%_per_additional_melee_range", 15 }, @@ -5074,9 +4970,7 @@ skills["VaalCyclone"] = { skill("radius", 24), }, qualityStats = { - Default = { - { "cyclone_area_of_effect_+%_per_additional_melee_range", 0.25 }, - }, + { "cyclone_area_of_effect_+%_per_additional_melee_range", 0.25 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -5145,9 +5039,7 @@ skills["Dash"] = { spell = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, stats = { "base_cooldown_speed_+%", @@ -5224,9 +5116,7 @@ skills["Desecrate"] = { skill("radius", 12), }, qualityStats = { - Default = { - { "base_cast_speed_+%", 1 }, - }, + { "base_cast_speed_+%", 1 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -5319,9 +5209,7 @@ skills["DetonateDead"] = { skill("explodeCorpse", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "detonate_dead_%_chance_to_detonate_additional_corpse", 0.75 }, - }, + { "detonate_dead_%_chance_to_detonate_additional_corpse", 0.75 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 22 }, @@ -5397,9 +5285,7 @@ skills["DetonateDeadAltX"] = { skill("explodeCorpse", true), }, qualityStats = { - Default = { - { "corpse_explosion_monster_life_permillage_fire", 2.5 }, - }, + { "corpse_explosion_monster_life_permillage_fire", 2.5 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 28 }, @@ -5491,9 +5377,7 @@ skills["DetonateDeadAltY"] = { skill("explodeCorpse", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 20 }, @@ -5590,9 +5474,7 @@ skills["VaalDetonateDead"] = { skill("explodeCorpse", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "detonate_dead_%_chance_to_detonate_additional_corpse", 1.5 }, - }, + { "detonate_dead_%_chance_to_detonate_additional_corpse", 1.5 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 24 }, @@ -5682,9 +5564,7 @@ skills["DoubleStrike"] = { mod("PvpTvalueMultiplier", "MORE", -50), }, qualityStats = { - Default = { - { "chance_to_deal_double_damage_%_vs_bleeding_enemies", 1 }, - }, + { "chance_to_deal_double_damage_%_vs_bleeding_enemies", 1 }, }, constantStats = { { "base_skill_number_of_additional_hits", 1 }, @@ -5765,9 +5645,7 @@ skills["DoubleStrikeAltX"] = { mod("PvpTvalueMultiplier", "MORE", -50), }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 2 }, - }, + { "impale_debuff_effect_+%", 2 }, }, constantStats = { { "base_skill_number_of_additional_hits", 1 }, @@ -5857,9 +5735,7 @@ skills["DoubleStrikeAltY"] = { mod("PvpTvalueMultiplier", "MORE", -50), }, qualityStats = { - Default = { - { "double_strike_attack_speed_+%_final_per_stage", 0.2 }, - }, + { "double_strike_attack_speed_+%_final_per_stage", 0.2 }, }, constantStats = { { "base_skill_number_of_additional_hits", 1 }, @@ -5939,9 +5815,7 @@ skills["VaalDoubleStrike"] = { vaal = true, }, qualityStats = { - Default = { - { "chance_to_deal_double_damage_%_vs_bleeding_enemies", 1 }, - }, + { "chance_to_deal_double_damage_%_vs_bleeding_enemies", 1 }, }, constantStats = { { "base_skill_number_of_additional_hits", 1 }, @@ -6035,9 +5909,7 @@ skills["DualStrike"] = { melee = true, }, qualityStats = { - Default = { - { "dual_strike_damage_+%_final_against_enemies_on_full_life", 1.5 }, - }, + { "dual_strike_damage_+%_final_against_enemies_on_full_life", 1.5 }, }, constantStats = { { "dual_strike_critical_strike_chance_+%_final_against_enemies_on_full_life", 100 }, @@ -6119,9 +5991,7 @@ skills["DualStrikeAltX"] = { melee = true, }, qualityStats = { - Default = { - { "active_skill_main_hand_weapon_damage_+%_final", 1 }, - }, + { "active_skill_main_hand_weapon_damage_+%_final", 1 }, }, constantStats = { { "active_skill_main_hand_weapon_damage_+%_final", 50 }, @@ -6285,9 +6155,7 @@ skills["ElementalHit"] = { mod("Multiplier:ElementalHitAilmentOnEnemy", "BASE", 1, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Sapped" }), }, qualityStats = { - Default = { - { "elemental_hit_damage_+%_final_per_enemy_elemental_ailment", 0.25 }, - }, + { "elemental_hit_damage_+%_final_per_enemy_elemental_ailment", 0.25 }, }, constantStats = { { "elemental_hit_damage_+%_final_per_enemy_elemental_ailment", 10 }, @@ -6434,9 +6302,7 @@ skills["ElementalHitAltX"] = { mod("Multiplier:ElementalHitAilmentOnEnemy", "BASE", 1, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Sapped" }), }, qualityStats = { - Default = { - { "elemental_hit_damage_+%_final_per_enemy_elemental_ailment", 0.25 }, - }, + { "elemental_hit_damage_+%_final_per_enemy_elemental_ailment", 0.25 }, }, constantStats = { { "elemental_hit_damage_+%_final_per_enemy_elemental_ailment", 10 }, @@ -6531,9 +6397,7 @@ skills["EnsnaringArrow"] = { area = true, }, qualityStats = { - Default = { - { "skill_buff_effect_+%", 1 }, - }, + { "skill_buff_effect_+%", 1 }, }, constantStats = { { "tethered_movement_speed_+%_final_per_rope", -40 }, @@ -6603,9 +6467,7 @@ skills["EtherealKnives"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 50 }, @@ -6680,9 +6542,7 @@ skills["EtherealKnivesAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 50 }, @@ -6760,9 +6620,7 @@ skills["EtherealKnivesAltY"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.15 }, - }, + { "base_number_of_projectiles", 0.15 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 50 }, @@ -6974,9 +6832,7 @@ skills["ExplosiveArrow"] = { mod("Damage", "MORE", 100, 0, 0, { type = "SkillPart", skillPartList = { 1, 2 } }, { type = "Multiplier", var = "ExplosiveArrowStageAfterFirst" }), }, qualityStats = { - Default = { - { "explosive_arrow_stack_limit", 0.1 }, - }, + { "explosive_arrow_stack_limit", 0.1 }, }, constantStats = { { "fuse_arrow_explosion_radius_+_per_fuse_arrow_orb", 2 }, @@ -7099,9 +6955,7 @@ skills["ExplosiveConcoction"] = { projectile = true, }, qualityStats = { - Default = { - { "flask_charges_used_+%", -0.75 }, - }, + { "flask_charges_used_+%", -0.75 }, }, constantStats = { { "additional_base_critical_strike_chance", 600 }, @@ -7227,9 +7081,7 @@ skills["ExplosiveConcoctionAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "flask_charges_used_+%", -0.75 }, - }, + { "flask_charges_used_+%", -0.75 }, }, constantStats = { { "additional_base_critical_strike_chance", 1000 }, @@ -7400,9 +7252,7 @@ skills["ExplosiveTrap"] = { skill("radiusTertiaryBaseMargin", 30), }, qualityStats = { - Default = { - { "shrapnel_trap_number_of_secondary_explosions", 0.1 }, - }, + { "shrapnel_trap_number_of_secondary_explosions", 0.1 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -7494,9 +7344,7 @@ skills["ExplosiveTrapAltX"] = { area = true, }, qualityStats = { - Default = { - { "shrapnel_trap_number_of_secondary_explosions", 0.1 }, - }, + { "shrapnel_trap_number_of_secondary_explosions", 0.1 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -7584,9 +7432,7 @@ skills["ExplosiveTrapAltY"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -7674,9 +7520,7 @@ skills["FireTrap"] = { skill("radius", 15), }, qualityStats = { - Default = { - { "trap_trigger_radius_+%", 4 }, - }, + { "trap_trigger_radius_+%", 4 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -7766,9 +7610,7 @@ skills["FireTrapAltX"] = { skill("radius", 15), }, qualityStats = { - Default = { - { "trap_trigger_radius_+%", 4 }, - }, + { "trap_trigger_radius_+%", 4 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -7903,9 +7745,7 @@ skills["FlamethrowerTrap"] = { skill("radius", 32), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -8008,9 +7848,7 @@ skills["FlamethrowerTrapAltX"] = { skill("radius", 32), }, qualityStats = { - Default = { - { "flamethrower_tower_trap_number_of_flamethrowers", 0.05 }, - }, + { "flamethrower_tower_trap_number_of_flamethrowers", 0.05 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -8108,9 +7946,7 @@ skills["FlickerStrike"] = { duration = true, }, qualityStats = { - Default = { - { "add_frenzy_charge_on_skill_hit_%", 0.5 }, - }, + { "add_frenzy_charge_on_skill_hit_%", 0.5 }, }, constantStats = { { "base_attack_speed_+%_per_frenzy_charge", 10 }, @@ -8201,9 +8037,7 @@ skills["FlickerStrikeAltX"] = { duration = true, }, qualityStats = { - Default = { - { "add_power_charge_on_critical_strike_%", 1 }, - }, + { "add_power_charge_on_critical_strike_%", 1 }, }, constantStats = { { "flicker_strike_buff_movement_speed_+%", 20 }, @@ -8301,9 +8135,7 @@ skills["VaalFlickerStrike"] = { flag("FinalRepeatSumsDamage"), }, qualityStats = { - Default = { - { "add_frenzy_charge_on_skill_hit_%", 0.5 }, - }, + { "add_frenzy_charge_on_skill_hit_%", 0.5 }, }, constantStats = { { "base_attack_speed_+%_per_frenzy_charge", 10 }, @@ -8394,10 +8226,8 @@ skills["Frenzy"] = { projectile = true, }, qualityStats = { - Default = { - { "frenzy_skill_attack_damage_+%_final_per_frenzy_charge", 0.1 }, - { "frenzy_skill_attack_speed_+%_final_per_frenzy_charge", 0.1 }, - }, + { "frenzy_skill_attack_damage_+%_final_per_frenzy_charge", 0.1 }, + { "frenzy_skill_attack_speed_+%_final_per_frenzy_charge", 0.1 }, }, constantStats = { { "frenzy_skill_attack_damage_+%_final_per_frenzy_charge", 5 }, @@ -8495,10 +8325,8 @@ skills["FrenzyAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "frenzy_skill_attack_damage_+%_final_per_frenzy_charge", 0.1 }, - { "frenzy_skill_attack_speed_+%_final_per_frenzy_charge", 0.1 }, - }, + { "frenzy_skill_attack_damage_+%_final_per_frenzy_charge", 0.1 }, + { "frenzy_skill_attack_speed_+%_final_per_frenzy_charge", 0.1 }, }, constantStats = { { "frenzy_skill_attack_damage_+%_final_per_frenzy_charge", 5 }, @@ -8596,9 +8424,7 @@ skills["FrostBlades"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 60 }, @@ -8712,9 +8538,7 @@ skills["FrostBladesAltX"] = { skill("dotIsArea", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "melee_weapon_range_+", 0.5 }, - }, + { "melee_weapon_range_+", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 60 }, @@ -8804,9 +8628,7 @@ skills["GalvanicArrow"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -8884,9 +8706,7 @@ skills["GalvanicArrowAltX"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.2 }, - }, + { "active_skill_base_radius_+", 0.2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -8972,9 +8792,7 @@ skills["GalvanicArrowAltY"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -9045,9 +8863,7 @@ skills["GlacialShieldSwipe"] = { shieldAttack = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -9141,9 +8957,7 @@ skills["Grace"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "grace_aura_evasion_rating_+%_final", @@ -9221,9 +9035,7 @@ skills["VaalGrace"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "chance_to_evade_attacks_%", 15 }, @@ -9309,9 +9121,7 @@ skills["Haste"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "attack_speed_+%_granted_from_skill", @@ -9396,9 +9206,7 @@ skills["VaalHaste"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -9481,9 +9289,7 @@ skills["Hatred"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "physical_damage_%_to_add_as_cold", @@ -9582,9 +9388,7 @@ skills["HeraldOfAgony"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "maximum_virulence_stacks", 0.25 }, - }, + { "maximum_virulence_stacks", 0.25 }, }, constantStats = { { "skill_buff_grants_chance_to_poison_%", 20 }, @@ -9674,9 +9478,7 @@ skills["HeraldOfIce"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "skill_override_pvp_scaling_time_ms", 1000 }, @@ -9773,9 +9575,7 @@ skills["IceShot"] = { mod("SkillPhysicalDamageConvertToCold", "BASE", 40, 0, 0, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "skill_area_angle_+%", 4 }, - }, + { "skill_area_angle_+%", 4 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 60 }, @@ -9859,9 +9659,7 @@ skills["IceShotAltX"] = { mod("SkillPhysicalDamageConvertToCold", "BASE", 40, 0, 0, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "skill_area_angle_+%", 4 }, - }, + { "skill_area_angle_+%", 4 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 60 }, @@ -9935,9 +9733,7 @@ skills["VaalIceShot"] = { duration = true, }, qualityStats = { - Default = { - { "skill_area_angle_+%", 4 }, - }, + { "skill_area_angle_+%", 4 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 60 }, @@ -10015,9 +9811,7 @@ skills["IceTrap"] = { skill("radiusTertiaryLabel", "Third Explosion:"), }, qualityStats = { - Default = { - { "trap_%_chance_to_trigger_twice", 0.75 }, - }, + { "trap_%_chance_to_trigger_twice", 0.75 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -10101,9 +9895,7 @@ skills["IceTrapAltX"] = { skill("radiusSecondaryLabel", "Second Explosion:"), }, qualityStats = { - Default = { - { "trap_%_chance_to_trigger_twice", 0.75 }, - }, + { "trap_%_chance_to_trigger_twice", 0.75 }, }, constantStats = { { "base_trap_duration", 2000 }, @@ -10204,9 +9996,7 @@ skills["Lacerate"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "attack_speed_+%_if_changed_stance_recently", 1 }, - }, + { "attack_speed_+%_if_changed_stance_recently", 1 }, }, constantStats = { { "chance_to_bleed_on_hit_%_chance_in_blood_stance", 25 }, @@ -10294,9 +10084,7 @@ skills["LacerateAltX"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.25 }, - }, + { "active_skill_base_radius_+", 0.25 }, }, constantStats = { { "skill_angle_+%_in_sand_stance", 50 }, @@ -10384,9 +10172,7 @@ skills["LacerateAltY"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "active_skill_bleeding_damage_+%_final", 2 }, - }, + { "active_skill_bleeding_damage_+%_final", 2 }, }, constantStats = { { "bleed_on_hit_with_attacks_%", 25 }, @@ -10490,9 +10276,7 @@ skills["LancingSteel"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "base_number_of_projectiles", 4 }, @@ -10589,9 +10373,7 @@ skills["LancingSteelAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "lancing_steel_damage_+%_final_after_first_hit_on_target", -90 }, @@ -10664,9 +10446,7 @@ skills["LightningArrow"] = { skill("radius", 18), }, qualityStats = { - Default = { - { "lightning_arrow_maximum_number_of_extra_targets", 0.1 }, - }, + { "lightning_arrow_maximum_number_of_extra_targets", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10747,9 +10527,7 @@ skills["LightningArrowAltX"] = { skill("dpsMultiplier", 1, { type = "Multiplier", var = "LightningArrowofElectrocutionStage" }), }, qualityStats = { - Default = { - { "lightning_arrow_alt_additional_strikes", 0.05 }, - }, + { "lightning_arrow_alt_additional_strikes", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10844,9 +10622,7 @@ skills["VaalLightningArrow"] = { skill("radius", 18), }, qualityStats = { - Default = { - { "lightning_arrow_maximum_number_of_extra_targets", 0.1 }, - }, + { "lightning_arrow_maximum_number_of_extra_targets", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10954,9 +10730,7 @@ skills["LightningStrike"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -11060,9 +10834,7 @@ skills["LightningStrikeAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "number_of_chains", 0.1 }, - }, + { "number_of_chains", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -11163,9 +10935,7 @@ skills["VaalLightningStrike"] = { vaal = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -11250,9 +11020,7 @@ skills["MirrorArrow"] = { skill("minionUseBowAndQuiver", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -11338,9 +11106,7 @@ skills["MirrorArrowAltX"] = { skill("minionUseBowAndQuiver", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -11425,9 +11191,7 @@ skills["MirrorArrowAltY"] = { skill("minionUseBowAndQuiver", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -11509,9 +11273,7 @@ skills["PestilentStrike"] = { skill("radius", 27), }, qualityStats = { - Default = { - { "active_skill_poison_duration_+%_final", 1 }, - }, + { "active_skill_poison_duration_+%_final", 1 }, }, constantStats = { { "mamba_strike_deal_%_of_all_poison_total_damage_per_minute", 3000 }, @@ -11588,9 +11350,7 @@ skills["PhaseRun"] = { duration = true, }, qualityStats = { - Default = { - { "base_movement_velocity_+%", 0.5 }, - }, + { "base_movement_velocity_+%", 0.5 }, }, constantStats = { { "stealth_+%", 100 }, @@ -11670,9 +11430,7 @@ skills["PlagueBearer"] = { skill("radius", 25), }, qualityStats = { - Default = { - { "corrosive_shroud_%_of_stored_poison_damage_to_deal_per_second", 0.2 }, - }, + { "corrosive_shroud_%_of_stored_poison_damage_to_deal_per_second", 0.2 }, }, constantStats = { { "corrosive_shroud_gains_%_of_damage_from_inflicted_poisons", 40 }, @@ -11768,9 +11526,7 @@ skills["PoachersMark"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "grant_attacker_frenzy_charge_when_hit_%_chance", 0.25 }, - }, + { "grant_attacker_frenzy_charge_when_hit_%_chance", 0.25 }, }, constantStats = { { "base_additional_physical_damage_reduction_%", -20 }, @@ -11851,9 +11607,7 @@ skills["Precision"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "accuracy_rating", @@ -11934,9 +11688,7 @@ skills["SnipersMark"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "projectile_damage_taken_+%", 0.25 }, - }, + { "projectile_damage_taken_+%", 0.25 }, }, stats = { "projectiles_hitting_self_split_into_x", @@ -12038,9 +11790,7 @@ skills["StormRain"] = { skill("radiusSecondaryLabel", "Beam Width:", { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "storm_rain_pulse_count", 0.05 }, - }, + { "storm_rain_pulse_count", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -12146,9 +11896,7 @@ skills["StormRainAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "storm_rain_pulse_count", 0.1 }, - }, + { "storm_rain_pulse_count", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -12256,9 +12004,7 @@ skills["StormRainAltY"] = { projectile = true, }, qualityStats = { - Default = { - { "storm_rain_pulse_count", 0.2 }, - }, + { "storm_rain_pulse_count", 0.2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -12346,9 +12092,7 @@ skills["Puncture"] = { skill("bleedIsSkillEffect", true), }, qualityStats = { - Default = { - { "active_skill_bleeding_damage_+%_final", 1 }, - }, + { "active_skill_bleeding_damage_+%_final", 1 }, }, constantStats = { { "base_skill_effect_duration", 8000 }, @@ -12435,9 +12179,7 @@ skills["PunctureAltX"] = { skill("bleedIsSkillEffect", true), }, qualityStats = { - Default = { - { "active_skill_bleeding_damage_+%_final", 1 }, - }, + { "active_skill_bleeding_damage_+%_final", 1 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -12520,9 +12262,7 @@ skills["PurityOfIce"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_cold_damage_resistance_%", 0.5 }, - }, + { "base_cold_damage_resistance_%", 0.5 }, }, stats = { "base_cold_damage_resistance_%", @@ -12605,9 +12345,7 @@ skills["VaalImpurityOfIce"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "base_maximum_cold_damage_resistance_%", 5 }, @@ -12690,9 +12428,7 @@ skills["RainOfArrows"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.2 }, - }, + { "base_number_of_arrows", 0.2 }, }, stats = { "base_number_of_arrows", @@ -12767,9 +12503,7 @@ skills["RainOfArrowsAltX"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.2 }, - }, + { "base_number_of_arrows", 0.2 }, }, stats = { "base_number_of_arrows", @@ -12844,9 +12578,7 @@ skills["RainOfArrowsAltY"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.4 }, - }, + { "base_number_of_arrows", 0.4 }, }, stats = { "base_number_of_arrows", @@ -12922,9 +12654,7 @@ skills["VaalRainOfArrows"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.2 }, - }, + { "base_number_of_arrows", 0.2 }, }, constantStats = { { "rain_of_arrows_additional_sequences", 4 }, @@ -13017,9 +12747,7 @@ skills["Reave"] = { mod("Multiplier:ReaveMaxStages", "BASE", 8), }, qualityStats = { - Default = { - { "reave_additional_max_stacks", 0.1 }, - }, + { "reave_additional_max_stacks", 0.1 }, }, constantStats = { { "reave_area_of_effect_+%_final_per_stage", 50 }, @@ -13108,9 +12836,7 @@ skills["ReaveAltX"] = { mod("Multiplier:ReaveofRefractionMaxStages", "BASE", 8), }, qualityStats = { - Default = { - { "reave_additional_max_stacks", 0.1 }, - }, + { "reave_additional_max_stacks", 0.1 }, }, constantStats = { { "reave_area_of_effect_+%_final_per_stage", 50 }, @@ -13201,9 +12927,7 @@ skills["VaalReave"] = { mod("Multiplier:ReaveMaxStages", "BASE", 4), }, qualityStats = { - Default = { - { "reave_additional_max_stacks", 0.1 }, - }, + { "reave_additional_max_stacks", 0.1 }, }, constantStats = { { "reave_area_of_effect_+%_final_per_stage", 50 }, @@ -13308,9 +13032,7 @@ skills["ScourgeArrow"] = { projectile = true, }, qualityStats = { - Default = { - { "virulent_arrow_number_of_pod_projectiles", 0.1 }, - }, + { "virulent_arrow_number_of_pod_projectiles", 0.1 }, }, constantStats = { { "virulent_arrow_maximum_number_of_stacks", 5 }, @@ -13404,9 +13126,7 @@ skills["ScourgeArrowAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "virulent_arrow_number_of_pod_projectiles", 0.05 }, - }, + { "virulent_arrow_number_of_pod_projectiles", 0.05 }, }, constantStats = { { "virulent_arrow_number_of_pod_projectiles", 4 }, @@ -13497,9 +13217,7 @@ skills["ShatteringSteel"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 2 }, - }, + { "impale_debuff_effect_+%", 2 }, }, constantStats = { { "attacks_impale_on_hit_%_chance", 40 }, @@ -13602,9 +13320,7 @@ skills["ShatteringSteelAltX"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 2 }, - }, + { "impale_debuff_effect_+%", 2 }, }, constantStats = { { "attacks_impale_on_hit_%_chance", 40 }, @@ -13840,9 +13556,7 @@ skills["SeismicTrap"] = { skill("radiusSecondaryLabel", "Small Burst:"), }, qualityStats = { - Default = { - { "phys_cascade_trap_number_of_cascades", 0.05 }, - }, + { "phys_cascade_trap_number_of_cascades", 0.05 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -14000,9 +13714,7 @@ skills["SeismicTrapAltX"] = { skill("radiusSecondaryLabel", "Small Burst:"), }, qualityStats = { - Default = { - { "phys_cascade_trap_number_of_cascades", 0.05 }, - }, + { "phys_cascade_trap_number_of_cascades", 0.05 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -14093,9 +13805,7 @@ skills["ShrapnelBallista"] = { ballista = true, }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "base_totem_range", 40 }, @@ -14188,9 +13898,7 @@ skills["ShrapnelBallistaAltX"] = { ballista = true, }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "base_totem_range", 40 }, @@ -14281,9 +13989,7 @@ skills["SiegeBallista"] = { flag("ProjectileRain"), }, qualityStats = { - Default = { - { "attack_speed_+%_per_maximum_totem", 0.25 }, - }, + { "attack_speed_+%_per_maximum_totem", 0.25 }, }, constantStats = { { "base_totem_range", 80 }, @@ -14363,9 +14069,7 @@ skills["SiegeBallistaAltX"] = { flag("ProjectileRain"), }, qualityStats = { - Default = { - { "chance_to_fork_extra_projectile_%", 2 }, - }, + { "chance_to_fork_extra_projectile_%", 2 }, }, constantStats = { { "base_totem_range", 80 }, @@ -14451,9 +14155,7 @@ skills["SiegeBallistaAltY"] = { ballista = true, }, qualityStats = { - Default = { - { "active_skill_projectile_damage_+%_final", 1 }, - }, + { "active_skill_projectile_damage_+%_final", 1 }, }, constantStats = { { "base_totem_range", 80 }, @@ -14539,9 +14241,7 @@ skills["SmokeMine"] = { skill("radius", 18), }, qualityStats = { - Default = { - { "base_movement_velocity_+%", 1 }, - }, + { "base_movement_velocity_+%", 1 }, }, constantStats = { { "base_mine_duration", 8000 }, @@ -14643,9 +14343,7 @@ skills["SpectralShieldThrow"] = { shieldAttack = true, }, qualityStats = { - Default = { - { "number_of_additional_projectiles", 0.1 }, - }, + { "number_of_additional_projectiles", 0.1 }, }, constantStats = { { "number_of_additional_projectiles", 3 }, @@ -14736,9 +14434,7 @@ skills["SpectralShieldThrowAltX"] = { shieldAttack = true, }, qualityStats = { - Default = { - { "active_skill_projectile_speed_+%_final", 1 }, - }, + { "active_skill_projectile_speed_+%_final", 1 }, }, constantStats = { { "number_of_additional_projectiles", 3 }, @@ -14829,9 +14525,7 @@ skills["SpectralShieldThrowAltY"] = { shieldAttack = true, }, qualityStats = { - Default = { - { "active_skill_projectile_speed_+%_final", 1 }, - }, + { "active_skill_projectile_speed_+%_final", 1 }, }, constantStats = { { "number_of_additional_projectiles", 17 }, @@ -14925,9 +14619,7 @@ skills["SpectralThrow"] = { mod("PierceChance", "BASE", 100), }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, constantStats = { { "spectral_throw_forget_hit_list_time_override", 225 }, @@ -15007,9 +14699,7 @@ skills["SpectralThrowAltX"] = { mod("PierceChance", "BASE", 100), }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, constantStats = { { "spectral_throw_forget_hit_list_time_override", 225 }, @@ -15091,9 +14781,7 @@ skills["SpectralThrowAltY"] = { mod("PierceChance", "BASE", 100), }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, constantStats = { { "spectral_throw_forget_hit_list_time_override", 225 }, @@ -15184,9 +14872,7 @@ skills["VaalSpectralThrow"] = { vaal = true, }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, constantStats = { { "base_number_of_projectiles_in_spiral_nova", 8 }, @@ -15276,9 +14962,7 @@ skills["ToxicRain"] = { skill("radiusLabel", "Pod Area:"), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 10 }, - }, + { "base_skill_effect_duration", 10 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -15368,9 +15052,7 @@ skills["ToxicRainAltX"] = { skill("radiusLabel", "Pod Area:"), }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.1 }, - }, + { "base_number_of_arrows", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -15466,9 +15148,7 @@ skills["ToxicRainAltY"] = { skill("radiusLabel", "Pod Area:"), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 5 }, - }, + { "base_skill_effect_duration", 5 }, }, constantStats = { { "base_skill_effect_duration", 400 }, @@ -15565,9 +15245,7 @@ skills["SpectralHelix"] = { flag("AdditionalProjectilesAddBouncesInstead"), }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, constantStats = { { "spectral_spiral_weapon_base_number_of_bounces", 3 }, @@ -15659,9 +15337,7 @@ skills["SpectralHelixAltY"] = { flag("AdditionalProjectilesAddBouncesInstead"), }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, constantStats = { { "spectral_spiral_weapon_base_number_of_bounces", 3 }, @@ -15739,9 +15415,7 @@ skills["SplitArrow"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.2 }, - }, + { "base_number_of_arrows", 0.2 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 50 }, @@ -15810,9 +15484,7 @@ skills["SplitArrowAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "projectile_number_to_split", 0.1 }, - }, + { "projectile_number_to_split", 0.1 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 50 }, @@ -15889,9 +15561,7 @@ skills["SplittingSteel"] = { area = true, }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 2 }, - }, + { "impale_debuff_effect_+%", 2 }, }, constantStats = { { "attacks_impale_on_hit_%_chance", 40 }, @@ -15971,9 +15641,7 @@ skills["SplittingSteelAltX"] = { area = true, }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 2 }, - }, + { "impale_debuff_effect_+%", 2 }, }, constantStats = { { "attacks_impale_on_hit_%_chance", 60 }, @@ -16066,9 +15734,7 @@ skills["SummonIceGolem"] = { flag("Condition:HaveColdGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -16147,9 +15813,7 @@ skills["SummonIceGolemAltX"] = { flag("Condition:HaveColdGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 3 }, @@ -16227,9 +15891,7 @@ skills["SummonIceGolemAltY"] = { flag("Condition:HaveColdGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -16320,9 +15982,7 @@ skills["TemporalChains"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "base_curse_duration_+%", 1 }, - }, + { "base_curse_duration_+%", 1 }, }, constantStats = { { "buff_time_passed_+%_other_than_temporal_chains", -25 }, @@ -16423,9 +16083,7 @@ skills["TornadoShot"] = { projectile = true, }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "tornado_shot_num_of_secondary_projectiles", 3 }, @@ -16494,9 +16152,7 @@ skills["TornadoShotAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "base_number_of_arrows", 0.2 }, - }, + { "base_number_of_arrows", 0.2 }, }, constantStats = { { "base_number_of_arrows", 9 }, @@ -16576,9 +16232,7 @@ skills["Unearth"] = { skill("corpseMonsterVariety", "Bone Archer"), }, qualityStats = { - Default = { - { "maximum_life_+%_for_corpses_you_create", 1 }, - }, + { "maximum_life_+%_for_corpses_you_create", 1 }, }, constantStats = { { "desecrate_maximum_number_of_corpses", 10 }, @@ -16665,9 +16319,7 @@ skills["VenomGyre"] = { flag("Condition:ReturningProjectile", { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "maximum_number_of_snapping_adder_projectiles", 0.5 }, - }, + { "maximum_number_of_snapping_adder_projectiles", 0.5 }, }, constantStats = { { "maximum_number_of_snapping_adder_projectiles", 30 }, @@ -16748,9 +16400,7 @@ skills["VaalVenomGyre"] = { duration = true, }, qualityStats = { - Default = { - { "base_poison_duration_+%", 1 }, - }, + { "base_poison_duration_+%", 1 }, }, constantStats = { { "maximum_number_of_snapping_adder_projectiles", 50 }, @@ -16849,9 +16499,7 @@ skills["ViperStrike"] = { skill("poisonIsSkillEffect", true), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 50 }, - }, + { "base_skill_effect_duration", 50 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_chaos", 60 }, @@ -16948,9 +16596,7 @@ skills["ViperStrikeAltX"] = { skill("poisonIsSkillEffect", true), }, qualityStats = { - Default = { - { "active_skill_poison_damage_+%_final", 2 }, - }, + { "active_skill_poison_damage_+%_final", 2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_chaos", 60 }, @@ -17051,9 +16697,7 @@ skills["VolatileDead"] = { skill("radiusSecondaryLabel", "Corpse Explosion:"), }, qualityStats = { - Default = { - { "volatile_dead_core_movement_speed_+%", 2 }, - }, + { "volatile_dead_core_movement_speed_+%", 2 }, }, constantStats = { { "volatile_dead_base_number_of_corpses_to_consume", 3 }, @@ -17156,9 +16800,7 @@ skills["VolatileDeadAltX"] = { skill("radiusSecondaryLabel", "Corpse Explosion:"), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "volatile_dead_base_number_of_corpses_to_consume", 3 }, @@ -17262,9 +16904,7 @@ skills["VolatileDeadAltY"] = { skill("radiusSecondaryLabel", "Corpse Explosion:"), }, qualityStats = { - Default = { - { "volatile_dead_core_movement_speed_+%", 2 }, - }, + { "volatile_dead_core_movement_speed_+%", 2 }, }, constantStats = { { "volatile_dead_base_number_of_corpses_to_consume", 10 }, @@ -17347,9 +16987,7 @@ skills["WhirlingBlades"] = { melee = true, }, qualityStats = { - Default = { - { "attack_speed_+%", 0.5 }, - }, + { "attack_speed_+%", 0.5 }, }, constantStats = { { "additional_weapon_base_attack_time_ms", 600 }, @@ -17487,9 +17125,7 @@ skills["WildStrike"] = { skill("radius", 24, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "chance_to_freeze_shock_ignite_%", 1 }, - }, + { "chance_to_freeze_shock_ignite_%", 1 }, }, constantStats = { { "elemental_strike_physical_damage_%_to_convert", 100 }, @@ -17630,9 +17266,7 @@ skills["WildStrikeAltX"] = { skill("radius", 24, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "chance_to_freeze_shock_ignite_%", 1 }, - }, + { "chance_to_freeze_shock_ignite_%", 1 }, }, constantStats = { { "elemental_strike_physical_damage_%_to_convert", 100 }, @@ -17717,9 +17351,7 @@ skills["WitheringStep"] = { skill("radius", 26), }, qualityStats = { - Default = { - { "slither_wither_stacks", 0.1 }, - }, + { "slither_wither_stacks", 0.1 }, }, constantStats = { { "active_skill_withered_base_duration_ms", 3000 }, @@ -17818,9 +17450,7 @@ skills["PoisonousConcoction"] = { projectile = true, }, qualityStats = { - Default = { - { "withered_on_hit_for_2_seconds_%_chance", 1 }, - }, + { "withered_on_hit_for_2_seconds_%_chance", 1 }, }, constantStats = { { "additional_base_critical_strike_chance", 600 }, @@ -17924,9 +17554,7 @@ skills["PoisonousConcoctionAltX"] = { mod("DPS", "MORE", 100, 0, 0, { type = "PerStat", stat = "ChainMax" }), }, qualityStats = { - Default = { - { "withered_on_hit_for_2_seconds_%_chance", 1 }, - }, + { "withered_on_hit_for_2_seconds_%_chance", 1 }, }, constantStats = { { "additional_base_critical_strike_chance", 600 }, @@ -18016,9 +17644,7 @@ skills["Snipe"] = { channelRelease = true, }, qualityStats = { - Default = { - { "snipe_max_stacks", 0.05 }, - }, + { "snipe_max_stacks", 0.05 }, }, constantStats = { { "override_turn_duration_ms", 100 }, @@ -18092,11 +17718,6 @@ skills["ChannelledSnipeSupport"] = { baseMods = { flag("TriggeredBySnipe"), }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "snipe_triggered_skill_damage_+%_final", -40 }, { "base_number_of_projectiles", 3 }, @@ -18166,9 +17787,7 @@ skills["TemporalRift"] = { spell = true, }, qualityStats = { - Default = { - { "debuff_time_passed_+%", 1 }, - }, + { "debuff_time_passed_+%", 1 }, }, stats = { "base_cooldown_speed_+%", @@ -18356,9 +17975,7 @@ skills["ThunderstormMiniTornados"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -18444,9 +18061,7 @@ skills["Tornado"] = { area = true, }, qualityStats = { - Default = { - { "tornado_movement_speed_+%", 1 }, - }, + { "tornado_movement_speed_+%", 1 }, }, constantStats = { { "base_secondary_skill_effect_duration", 4000 }, @@ -18562,9 +18177,7 @@ skills["TornadoAltY"] = { area = true, }, qualityStats = { - Default = { - { "tornado_movement_speed_+%", 2 }, - }, + { "tornado_movement_speed_+%", 2 }, }, constantStats = { { "tornado_base_damage_interval_ms", 250 }, @@ -18647,9 +18260,7 @@ skills["IntuitiveLink"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, stats = { "base_skill_effect_duration", @@ -18721,11 +18332,6 @@ skills["SupportIntuitiveLink"] = { mod("Damage", "MORE", nil), }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, stats = { "support_trigger_link_damage_+%_final", "trigger_on_trigger_link_target_hit", @@ -18796,9 +18402,7 @@ skills["VampiricLink"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, stats = { "remora_link_grants_maximum_life_leech_rate_%_per_minute", @@ -18867,9 +18471,7 @@ skills["QuickstepHardMode"] = { travel = true, }, qualityStats = { - Default = { - { "gem_display_quality_has_no_effect", 0.001 }, - }, + { "gem_display_quality_has_no_effect", 0.001 }, }, constantStats = { { "cooldown_recovery_rate_+%_when_a_unique_enemy_in_your_presence", 200 }, diff --git a/src/Data/Skills/act_int.lua b/src/Data/Skills/act_int.lua index 4589ddaf2d..4fecc8f91e 100644 --- a/src/Data/Skills/act_int.lua +++ b/src/Data/Skills/act_int.lua @@ -26,9 +26,7 @@ skills["Arc"] = { chaining = true, }, qualityStats = { - Default = { - { "number_of_chains", 0.05 }, - }, + { "number_of_chains", 0.05 }, }, constantStats = { { "arc_damage_+%_final_for_each_remaining_chain", 15 }, @@ -103,9 +101,7 @@ skills["ArcAltX"] = { chaining = true, }, qualityStats = { - Default = { - { "projectile_number_to_split", 0.1 }, - }, + { "projectile_number_to_split", 0.1 }, }, constantStats = { { "arc_chain_distance", 55 }, @@ -185,9 +181,7 @@ skills["ArcAltY"] = { chaining = true, }, qualityStats = { - Default = { - { "number_of_chains", 0.05 }, - }, + { "number_of_chains", 0.05 }, }, constantStats = { { "arc_damage_+%_final_for_each_remaining_chain", 50 }, @@ -270,9 +264,7 @@ skills["VaalArc"] = { flag("Condition:CanBeLucky", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "number_of_chains", 0.05 }, - }, + { "number_of_chains", 0.05 }, }, constantStats = { { "base_chance_to_shock_%", 100 }, @@ -367,9 +359,7 @@ skills["ArcaneCloak"] = { mod("Multiplier:ManaSpentRecently", "BASE", 100, 0, 0, { type = "PercentStat", stat = "ManaUnreserved", percentVar = "ArcaneCloakConsumedMana" }, { type = "Condition", var = "ArcaneCloakUsedRecently"}, { type = "GlobalEffect", effectType = "Buff", unscalable = true}), }, qualityStats = { - Default = { - { "skill_buff_effect_+%", 1 }, - }, + { "skill_buff_effect_+%", 1 }, }, constantStats = { { "arcane_cloak_damage_absorbed_%", 75 }, @@ -499,9 +489,7 @@ skills["SupportAutomation"] = { ignoreMinionTypes = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.25 }, - }, + { "base_cooldown_speed_+%", 0.25 }, }, stats = { "base_cooldown_speed_+%", @@ -574,9 +562,7 @@ skills["BrandSupport"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "sigil_repeat_frequency_+%", 0.5 }, - }, + { "sigil_repeat_frequency_+%", 0.5 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -659,11 +645,6 @@ skills["SupportBrandSupport"] = { baseMods = { skill("triggeredByBrand", true), }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "support_brand_area_of_effect_+%_final", -40 }, { "chaining_range_+%", -40 }, @@ -750,9 +731,7 @@ skills["ArmageddonBrand"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "sigil_attached_target_hit_damage_+%_final", 0.5 }, - }, + { "sigil_attached_target_hit_damage_+%_final", 0.5 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 22 }, @@ -840,9 +819,7 @@ skills["ArmageddonBrandAltX"] = { brand = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 26 }, @@ -933,9 +910,7 @@ skills["ArmageddonBrandAltY"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 22 }, @@ -1036,9 +1011,7 @@ skills["AssassinsMark"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "grant_attacker_power_charge_when_hit_%_chance", 0.25 }, - }, + { "grant_attacker_power_charge_when_hit_%_chance", 0.25 }, }, constantStats = { { "enemy_additional_critical_strike_chance_against_self", 150 }, @@ -1208,9 +1181,7 @@ skills["BallLightning"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "ball_lightning_projectile_speed_and_hit_frequency_+%_final", 33 }, @@ -1330,9 +1301,7 @@ skills["BallLightningAltX"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "ball_lightning_projectile_speed_and_hit_frequency_+%_final", 33 }, @@ -1430,9 +1399,7 @@ skills["BallLightningAltY"] = { skill("duration", 2), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "ball_lightning_projectile_speed_and_hit_frequency_+%_final", 33 }, @@ -1539,9 +1506,7 @@ skills["Bane"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "display_linked_curse_effect_+%", 1 }, - }, + { "display_linked_curse_effect_+%", 1 }, }, constantStats = { { "display_linked_curse_effect_+%_final", -25 }, @@ -1617,9 +1582,7 @@ skills["SupportDarkRitual"] = { }, }, qualityStats = { - Default = { - { "curse_effect_+%", 1 }, - }, + { "curse_effect_+%", 1 }, }, constantStats = { { "support_bane_curse_effect_+%_final", -25 }, @@ -1717,9 +1680,7 @@ skills["BaneAltX"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 10 }, - }, + { "base_skill_effect_duration", 10 }, }, constantStats = { { "dark_ritual_skill_effect_duration_+%_per_curse_applied", 100 }, @@ -1792,11 +1753,6 @@ skills["SupportDarkRitualAltX"] = { mod("CurseEffect", "MORE", nil), }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0.001 }, - }, - }, constantStats = { { "support_bane_curse_effect_+%_final", -25 }, }, @@ -1884,9 +1840,7 @@ skills["BlazingSalvo"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, stats = { "spell_minimum_base_fire_damage", @@ -1979,9 +1933,7 @@ skills["Blight"] = { skill("radius", 26), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 40 }, - }, + { "base_skill_effect_duration", 40 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -2077,9 +2029,7 @@ skills["BlightAltX"] = { skill("radius", 26), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 50 }, - }, + { "base_skill_effect_duration", 50 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -2175,9 +2125,7 @@ skills["BlightAltY"] = { skill("radius", 26), }, qualityStats = { - Default = { - { "base_secondary_skill_effect_duration", 50 }, - }, + { "base_secondary_skill_effect_duration", 50 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -2264,9 +2212,7 @@ skills["VaalBlight"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 40 }, - }, + { "base_skill_effect_duration", 40 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -2383,9 +2329,7 @@ skills["Bodyswap"] = { skill("radius", 14), }, qualityStats = { - Default = { - { "spell_base_fire_damage_%_maximum_life", 0.2 }, - }, + { "spell_base_fire_damage_%_maximum_life", 0.2 }, }, constantStats = { { "spell_base_fire_damage_%_maximum_life", 4 }, @@ -2508,9 +2452,7 @@ skills["BodyswapAltX"] = { skill("radius", 14), }, qualityStats = { - Default = { - { "skill_minion_explosion_life_%", 0.25 }, - }, + { "skill_minion_explosion_life_%", 0.25 }, }, constantStats = { { "corpse_warp_area_of_effect_+%_final_when_consuming_minion", 200 }, @@ -2597,9 +2539,7 @@ skills["BoneOffering"] = { skill("buffNotPlayer", true), }, qualityStats = { - Default = { - { "offering_spells_effect_+%", 0.5 }, - }, + { "offering_spells_effect_+%", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -2671,9 +2611,7 @@ skills["BrandRecall"] = { spell = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "brand_recall_spend_%_of_recalled_brands_cost", 20 }, @@ -2738,9 +2676,7 @@ skills["Clarity"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "base_mana_regeneration_rate_per_minute", @@ -2817,9 +2753,7 @@ skills["VaalClarity"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 10000 }, @@ -2897,9 +2831,7 @@ skills["ColdSnap"] = { skill("radiusTertiaryLabel", "Final Chilled Ground:"), }, qualityStats = { - Default = { - { "active_skill_chill_effect_+%_final", 1 }, - }, + { "active_skill_chill_effect_+%_final", 1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 15 }, @@ -2981,9 +2913,7 @@ skills["ColdSnapAltX"] = { area = true, }, qualityStats = { - Default = { - { "add_power_charge_on_critical_strike_%", 1 }, - }, + { "add_power_charge_on_critical_strike_%", 1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 25 }, @@ -3067,9 +2997,7 @@ skills["VaalColdSnap"] = { skill("radiusTertiaryLabel", "Final Chilled Ground:"), }, qualityStats = { - Default = { - { "active_skill_chill_effect_+%_final", 1 }, - }, + { "active_skill_chill_effect_+%_final", 1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 32 }, @@ -3170,9 +3098,7 @@ skills["Conductivity"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "base_self_shock_duration_-%", -1 }, - }, + { "base_self_shock_duration_-%", -1 }, }, constantStats = { { "chance_to_be_shocked_%", 25 }, @@ -3249,9 +3175,7 @@ skills["Contagion"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -3325,9 +3249,7 @@ skills["ContagionAltX"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -3401,9 +3323,7 @@ skills["ContagionAltY"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -3472,9 +3392,7 @@ skills["ConversionTrap"] = { trap = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 200 }, - }, + { "base_skill_effect_duration", 200 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -3562,9 +3480,7 @@ skills["CracklingLance"] = { skill("radius", 10), }, qualityStats = { - Default = { - { "disintegrate_damage_+%_final_per_intensity", 0.5 }, - }, + { "disintegrate_damage_+%_final_per_intensity", 0.5 }, }, constantStats = { { "disintegrate_base_radius_+_per_intensify", 3 }, @@ -3643,9 +3559,7 @@ skills["CracklingLanceAltX"] = { skill("radius", 10), }, qualityStats = { - Default = { - { "active_skill_area_of_effect_+%_final", 1 }, - }, + { "active_skill_area_of_effect_+%_final", 1 }, }, constantStats = { { "disintegrate_secondary_beam_angle_+%", 50 }, @@ -3720,9 +3634,7 @@ skills["CracklingLanceAltY"] = { skill("radius", 10), }, qualityStats = { - Default = { - { "shock_maximum_magnitude_+", 0.5 }, - }, + { "shock_maximum_magnitude_+", 0.5 }, }, constantStats = { { "base_chance_to_shock_%", 25 }, @@ -3802,9 +3714,7 @@ skills["CreepingFrost"] = { skill("radiusSecondaryLabel", "DoT Area:"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "arctic_breath_maximum_number_of_skulls_allowed", 10 }, @@ -3890,9 +3800,7 @@ skills["CreepingFrostAltX"] = { skill("radiusSecondaryLabel", "DoT Area:"), }, qualityStats = { - Default = { - { "chilling_area_movement_velocity_+%", 2 }, - }, + { "chilling_area_movement_velocity_+%", 2 }, }, constantStats = { { "arctic_breath_maximum_number_of_skulls_allowed", 5 }, @@ -4014,9 +3922,7 @@ skills["DarkPact"] = { skill("radius", 26), }, qualityStats = { - Default = { - { "skeletal_chains_aoe_%_health_dealt_as_chaos_damage", 0.1 }, - }, + { "skeletal_chains_aoe_%_health_dealt_as_chaos_damage", 0.1 }, }, constantStats = { { "skeletal_chains_aoe_%_health_dealt_as_chaos_damage", 12 }, @@ -4132,9 +4038,7 @@ skills["DarkPactAltX"] = { skill("showAverage", true, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "dark_pact_chance_to_gain_an_additional_ruin_%", 1 }, - }, + { "dark_pact_chance_to_gain_an_additional_ruin_%", 1 }, }, constantStats = { { "dark_pact_sacrifice_%_life_from_max_ruin", 50 }, @@ -4224,9 +4128,7 @@ skills["Despair"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "curse_effect_+%", 0.5 }, - }, + { "curse_effect_+%", 0.5 }, }, stats = { "base_skill_effect_duration", @@ -4305,9 +4207,7 @@ skills["DestructiveLink"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, stats = { "critical_link_grants_base_critical_strike_multiplier_+", @@ -4377,9 +4277,7 @@ skills["Discharge"] = { area = true, }, qualityStats = { - Default = { - { "discharge_chance_not_to_consume_charges_%", 0.5 }, - }, + { "discharge_chance_not_to_consume_charges_%", 0.5 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 30 }, @@ -4462,9 +4360,7 @@ skills["DischargeAltX"] = { area = true, }, qualityStats = { - Default = { - { "discharge_chance_not_to_consume_charges_%", 0.5 }, - }, + { "discharge_chance_not_to_consume_charges_%", 0.5 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 20 }, @@ -4555,9 +4451,7 @@ skills["Discipline"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "energy_shield_recharge_rate_+%", 30 }, @@ -4636,9 +4530,7 @@ skills["VaalDiscipline"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -4742,9 +4634,7 @@ skills["DivineIre"] = { skill("radius", 38), }, qualityStats = { - Default = { - { "divine_tempest_beam_width_+%", 1 }, - }, + { "divine_tempest_beam_width_+%", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -4854,9 +4744,7 @@ skills["DivineIreAltX"] = { skill("radius", 38), }, qualityStats = { - Default = { - { "divine_tempest_base_number_of_nearby_enemies_to_zap", 0.2 }, - }, + { "divine_tempest_base_number_of_nearby_enemies_to_zap", 0.2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -4950,9 +4838,7 @@ skills["DivineIreAltY"] = { mod("Multiplier:DivineIreofDisintegrationMaxStages", "BASE", 10, 0, 0), }, qualityStats = { - Default = { - { "divine_tempest_beam_width_+%", 1 }, - }, + { "divine_tempest_beam_width_+%", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -5030,9 +4916,7 @@ skills["DivineRetribution"] = { area = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -5128,9 +5012,7 @@ skills["ElementalWeakness"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "self_elemental_status_duration_-%", -1 }, - }, + { "self_elemental_status_duration_-%", -1 }, }, stats = { "base_skill_effect_duration", @@ -5236,9 +5118,7 @@ skills["EnergyBlade"] = { spell = true, }, qualityStats = { - Default = { - { "storm_blade_global_attack_speed_+%", 0.5 }, - }, + { "storm_blade_global_attack_speed_+%", 0.5 }, }, constantStats = { { "storm_blade_energy_shield_+%_final", -50 }, @@ -5326,9 +5206,7 @@ skills["Enfeeble"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "base_curse_duration_+%", 1 }, - }, + { "base_curse_duration_+%", 1 }, }, stats = { "base_skill_effect_duration", @@ -5406,9 +5284,7 @@ skills["EssenceDrain"] = { skill("radius", 8), }, qualityStats = { - Default = { - { "siphon_life_leech_from_damage_permyriad", 2.5 }, - }, + { "siphon_life_leech_from_damage_permyriad", 2.5 }, }, constantStats = { { "siphon_life_leech_from_damage_permyriad", 50 }, @@ -5490,9 +5366,7 @@ skills["EssenceDrainAltX"] = { skill("radius", 8), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 20 }, - }, + { "base_skill_effect_duration", 20 }, }, constantStats = { { "base_skill_effect_duration", 3800 }, @@ -5575,9 +5449,7 @@ skills["EssenceDrainAltY"] = { skill("radius", 8), }, qualityStats = { - Default = { - { "siphon_life_leech_from_damage_permyriad", 2.5 }, - }, + { "siphon_life_leech_from_damage_permyriad", 2.5 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -5668,9 +5540,7 @@ skills["EyeOfWinter"] = { projectile = true, }, qualityStats = { - Default = { - { "eye_of_winter_base_explosion_shards", 0.1 }, - }, + { "eye_of_winter_base_explosion_shards", 0.1 }, }, constantStats = { { "freezing_pulse_damage_+%_final_at_long_range", 200 }, @@ -5763,9 +5633,7 @@ skills["EyeOfWinterAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "freezing_pulse_damage_+%_final_at_long_range", 1 }, - }, + { "freezing_pulse_damage_+%_final_at_long_range", 1 }, }, constantStats = { { "freezing_pulse_damage_+%_final_at_long_range", 100 }, @@ -5858,9 +5726,7 @@ skills["EyeOfWinterAltY"] = { projectile = true, }, qualityStats = { - Default = { - { "freezing_pulse_damage_+%_final_at_long_range", 0.75 }, - }, + { "freezing_pulse_damage_+%_final_at_long_range", 0.75 }, }, constantStats = { { "projectile_firing_forward_distance_override", 100 }, @@ -5950,9 +5816,7 @@ skills["Fireball"] = { projectile = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "base_chance_to_ignite_%", 25 }, @@ -6036,9 +5900,7 @@ skills["VaalFireball"] = { projectile = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "base_number_of_projectiles_in_spiral_nova", 32 }, @@ -6139,9 +6001,7 @@ skills["Firestorm"] = { skill("radiusSecondaryLabel", "Area in which fireballs fall:"), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "fire_storm_fireball_delay_ms", 150 }, @@ -6220,9 +6080,7 @@ skills["FirestormAltX"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 23 }, @@ -6300,9 +6158,7 @@ skills["FirestormAltY"] = { skill("radiusSecondaryLabel", "Target area:"), }, qualityStats = { - Default = { - { "firestorm_max_number_of_storms", 0.1 }, - }, + { "firestorm_max_number_of_storms", 0.1 }, }, constantStats = { { "fire_storm_fireball_delay_ms", 150 }, @@ -6392,9 +6248,7 @@ skills["VaalFirestorm"] = { skill("radiusSecondaryLabel", "Area in which fireballs fall:"), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "fire_storm_fireball_delay_ms", 500 }, @@ -6482,9 +6336,7 @@ skills["FlameDash"] = { flag("dotIsBurningGround"), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -6566,9 +6418,7 @@ skills["FlameDashAltY"] = { flag("dotIsBurningGround"), }, qualityStats = { - Default = { - { "chance_to_scorch_%", 1 }, - }, + { "chance_to_scorch_%", 1 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -6687,9 +6537,7 @@ skills["FlameWall"] = { skill("buffAllies", true), }, qualityStats = { - Default = { - { "number_of_allowed_firewalls", 0.05 }, - }, + { "number_of_allowed_firewalls", 0.05 }, }, constantStats = { { "number_of_allowed_firewalls", 3 }, @@ -6790,9 +6638,7 @@ skills["FlameSurge"] = { skill("radius", 30), }, qualityStats = { - Default = { - { "flame_whip_damage_+%_final_vs_burning_enemies", 1 }, - }, + { "flame_whip_damage_+%_final_vs_burning_enemies", 1 }, }, constantStats = { { "flame_surge_ignite_damage_as_burning_ground_damage_%", 25 }, @@ -6885,9 +6731,7 @@ skills["FlameSurgeAltX"] = { skill("radius", 30), }, qualityStats = { - Default = { - { "flame_surge_burning_ground_on_ignite_damage_%", 0.75 }, - }, + { "flame_surge_burning_ground_on_ignite_damage_%", 0.75 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -6990,9 +6834,7 @@ skills["Flameblast"] = { mod("PvpTvalueMultiplier", "MORE", 100, 0, 0, { type = "Multiplier", var = "FlameblastStageAfterFirst" }), }, qualityStats = { - Default = { - { "flameblast_maximum_stages", 0.05 }, - }, + { "flameblast_maximum_stages", 0.05 }, }, constantStats = { { "charged_blast_spell_damage_+%_final_per_stack", 165 }, @@ -7096,9 +6938,7 @@ skills["FlameblastAltX"] = { mod("PvpTvalueMultiplier", "MORE", 100, 0, 0, { type = "Multiplier", var = "FlameblastofCelerityStageAfterFirst" }), }, qualityStats = { - Default = { - { "charged_blast_spell_damage_+%_final_per_stack", 2 }, - }, + { "charged_blast_spell_damage_+%_final_per_stack", 2 }, }, constantStats = { { "vaal_flameblast_radius_+_per_stage", 7 }, @@ -7204,9 +7044,7 @@ skills["FlameblastAltY"] = { mod("PvpTvalueMultiplier", "MORE", 100, 0, 0, { type = "Multiplier", var = "FlameblastofContractionStageAfterFirst" }), }, qualityStats = { - Default = { - { "flameblast_maximum_stages", 0.05 }, - }, + { "flameblast_maximum_stages", 0.05 }, }, constantStats = { { "base_chance_to_ignite_%", 50 }, @@ -7300,9 +7138,7 @@ skills["VaalFlameblast"] = { skill("radius", 45), }, qualityStats = { - Default = { - { "damage_+%", 1 }, - }, + { "damage_+%", 1 }, }, constantStats = { { "charged_blast_spell_damage_+%_final_per_stack", 200 }, @@ -7397,9 +7233,7 @@ skills["Flammability"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "base_self_ignite_duration_-%", -1 }, - }, + { "base_self_ignite_duration_-%", -1 }, }, constantStats = { { "chance_to_be_ignited_%", 25 }, @@ -7485,9 +7319,7 @@ skills["FleshOffering"] = { skill("buffNotPlayer", true), }, qualityStats = { - Default = { - { "offering_spells_effect_+%", 0.5 }, - }, + { "offering_spells_effect_+%", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -7635,9 +7467,7 @@ skills["ForbiddenRite"] = { skill("radius", 8), }, qualityStats = { - Default = { - { "soulfeast_number_of_secondary_projectiles", 0.1 }, - }, + { "soulfeast_number_of_secondary_projectiles", 0.1 }, }, constantStats = { { "soulfeast_take_%_maximum_life_as_chaos_damage", 40 }, @@ -7784,9 +7614,7 @@ skills["ForbiddenRiteAltX"] = { skill("radius", 8), }, qualityStats = { - Default = { - { "soulfeast_number_of_secondary_projectiles", 0.1 }, - }, + { "soulfeast_number_of_secondary_projectiles", 0.1 }, }, constantStats = { { "skill_base_chaos_damage_%_maximum_energy_shield", 20 }, @@ -7873,9 +7701,7 @@ skills["FreezingPulse"] = { projectile = true, }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, stats = { "spell_minimum_base_cold_damage", @@ -7958,9 +7784,7 @@ skills["FrostBomb"] = { skill("debuffSecondary", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 24 }, @@ -8039,9 +7863,7 @@ skills["FrostBombAltX"] = { duration = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 1500 }, @@ -8128,9 +7950,7 @@ skills["FrostBombAltY"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 25 }, - }, + { "base_skill_effect_duration", 25 }, }, constantStats = { { "base_skill_effect_duration", 2500 }, @@ -8231,9 +8051,7 @@ skills["FrostShield"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "cold_ailment_effect_+%", 1 }, - }, + { "cold_ailment_effect_+%", 1 }, }, constantStats = { { "frost_globe_absorb_damage_%_enemy_in_bubble", 20 }, @@ -8310,9 +8128,7 @@ skills["FrostWall"] = { duration = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "wall_expand_delay_ms", 150 }, @@ -8405,9 +8221,7 @@ skills["Frostbite"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "base_self_freeze_duration_-%", -1 }, - }, + { "base_self_freeze_duration_-%", -1 }, }, constantStats = { { "chance_to_be_frozen_%", 25 }, @@ -8496,9 +8310,7 @@ skills["Frostblink"] = { skill("radiusSecondaryLabel", "Area of Chilled Ground:"), }, qualityStats = { - Default = { - { "skill_maximum_travel_distance_+%", 0.5 }, - }, + { "skill_maximum_travel_distance_+%", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -8584,9 +8396,7 @@ skills["FrostblinkAltX"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "frostblink_damage_+%_final_per_5%_chill_effect_on_target", 0.2 }, - }, + { "frostblink_damage_+%_final_per_5%_chill_effect_on_target", 0.2 }, }, constantStats = { { "frostblink_damage_+%_final_per_5%_chill_effect_on_target", 15 }, @@ -8663,9 +8473,7 @@ skills["FrostBolt"] = { projectile = true, }, qualityStats = { - Default = { - { "projectile_damage_+%_final_if_pierced_enemy", 1 }, - }, + { "projectile_damage_+%_final_if_pierced_enemy", 1 }, }, stats = { "spell_minimum_base_cold_damage", @@ -8774,9 +8582,7 @@ skills["GalvanicField"] = { skill("radius", 19), }, qualityStats = { - Default = { - { "base_chance_to_shock_%_from_skill", 1 }, - }, + { "base_chance_to_shock_%_from_skill", 1 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -8890,9 +8696,7 @@ skills["GalvanicFieldAltX"] = { skill("radius", 19), }, qualityStats = { - Default = { - { "base_chance_to_shock_%_from_skill", 1 }, - }, + { "base_chance_to_shock_%_from_skill", 1 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -8991,9 +8795,7 @@ skills["GlacialCascade"] = { skill("radiusExtra", 12, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "glacial_cascade_final_spike_damage_+%_final", 2.5 }, - }, + { "glacial_cascade_final_spike_damage_+%_final", 2.5 }, }, constantStats = { { "upheaval_number_of_spikes", 4 }, @@ -9073,9 +8875,7 @@ skills["GlacialCascadeAltX"] = { skill("radius", 12), }, qualityStats = { - Default = { - { "upheaval_number_of_spikes", 0.1 }, - }, + { "upheaval_number_of_spikes", 0.1 }, }, constantStats = { { "upheaval_number_of_spikes", 6 }, @@ -9211,9 +9011,7 @@ skills["Hydrosphere"] = { skill("radius", 23), }, qualityStats = { - Default = { - { "hydro_sphere_pulse_frequency_+%", 0.5 }, - }, + { "hydro_sphere_pulse_frequency_+%", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, @@ -9323,9 +9121,7 @@ skills["Hexblast"] = { skill("showAverage", true), }, qualityStats = { - Default = { - { "hexblast_%_chance_to_not_consume_hex", 0.5 }, - }, + { "hexblast_%_chance_to_not_consume_hex", 0.5 }, }, constantStats = { { "hexblast_hit_damage_+%_final_if_hexed", 200 }, @@ -9428,9 +9224,7 @@ skills["HexblastAltX"] = { skill("showAverage", true), }, qualityStats = { - Default = { - { "hexblast_%_chance_to_not_consume_hex", 0.5 }, - }, + { "hexblast_%_chance_to_not_consume_hex", 0.5 }, }, constantStats = { { "hexblast_hit_damage_+%_final_if_hexed", 300 }, @@ -9516,9 +9310,7 @@ skills["HexblastAltY"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "hexblast_%_chance_to_not_consume_hex", 100 }, @@ -9619,9 +9411,7 @@ skills["HeraldOfThunder"] = { skill("showAverage", false), }, qualityStats = { - Default = { - { "herald_of_thunder_bolt_frequency_+%", 1 }, - }, + { "herald_of_thunder_bolt_frequency_+%", 1 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -9703,9 +9493,7 @@ skills["IceNova"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 26 }, @@ -9783,9 +9571,7 @@ skills["IceNovaAltX"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 18 }, @@ -9865,9 +9651,7 @@ skills["IceNovaAltY"] = { area = true, }, qualityStats = { - Default = { - { "ice_nova_freeze_as_though_damage_+%_final", 4 }, - }, + { "ice_nova_freeze_as_though_damage_+%_final", 4 }, }, constantStats = { { "base_chance_to_freeze_%", 50 }, @@ -9942,9 +9726,7 @@ skills["VaalIceNova"] = { area = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 26 }, @@ -10053,9 +9835,7 @@ skills["IceSpear"] = { mod("PierceChance", "BASE", 100, 0, 0, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "ice_spear_second_form_critical_strike_multiplier_+", 2 }, - }, + { "ice_spear_second_form_critical_strike_multiplier_+", 2 }, }, constantStats = { { "ice_spear_second_form_critical_strike_chance_+%", 600 }, @@ -10159,9 +9939,7 @@ skills["IceSpearAltX"] = { mod("PierceChance", "BASE", 100, 0, 0, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "projectile_number_to_split", 0.1 }, - }, + { "projectile_number_to_split", 0.1 }, }, constantStats = { { "ice_spear_second_form_projectile_speed_+%_final", 300 }, @@ -10243,9 +10021,7 @@ skills["IcicleMine"] = { mine = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -10334,9 +10110,7 @@ skills["IcicleMineAltX"] = { mine = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -10424,9 +10198,7 @@ skills["IcicleMineAltY"] = { mine = true, }, qualityStats = { - Default = { - { "aura_effect_+%", 1 }, - }, + { "aura_effect_+%", 1 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -10564,9 +10336,7 @@ skills["Incinerate"] = { skill("radiusSecondaryLabel", "Flame Width:"), }, qualityStats = { - Default = { - { "expanding_fire_cone_maximum_number_of_stages", 0.1 }, - }, + { "expanding_fire_cone_maximum_number_of_stages", 0.1 }, }, constantStats = { { "expanding_fire_cone_maximum_number_of_stages", 8 }, @@ -10704,10 +10474,8 @@ skills["IncinerateAltX"] = { skill("radiusSecondaryLabel", "Flame Width:"), }, qualityStats = { - Default = { - { "expanding_fire_cone_release_hit_damage_+%_final", 7.5 }, - { "grant_expanding_fire_cone_release_ignite_damage_+%_final", 4 }, - }, + { "expanding_fire_cone_release_hit_damage_+%_final", 7.5 }, + { "grant_expanding_fire_cone_release_ignite_damage_+%_final", 4 }, }, constantStats = { { "expanding_fire_cone_maximum_number_of_stages", 4 }, @@ -10824,9 +10592,7 @@ skills["IncinerateAltY"] = { skill("radiusSecondaryLabel", "Flame Width:"), }, qualityStats = { - Default = { - { "expanding_fire_cone_maximum_number_of_stages", 0.15 }, - }, + { "expanding_fire_cone_maximum_number_of_stages", 0.15 }, }, constantStats = { { "expanding_fire_cone_maximum_number_of_stages", 15 }, @@ -10918,9 +10684,7 @@ skills["KineticBlast"] = { area = true, }, qualityStats = { - Default = { - { "cluster_burst_spawn_amount", 0.05 }, - }, + { "cluster_burst_spawn_amount", 0.05 }, }, constantStats = { { "cluster_burst_spawn_amount", 4 }, @@ -11015,9 +10779,7 @@ skills["KineticBlastAltX"] = { area = true, }, qualityStats = { - Default = { - { "cluster_burst_spawn_amount", 0.05 }, - }, + { "cluster_burst_spawn_amount", 0.05 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 19 }, @@ -11094,9 +10856,7 @@ skills["KineticBolt"] = { projectile = true, }, qualityStats = { - Default = { - { "active_skill_additive_spell_damage_modifiers_apply_to_attack_damage_at_%_value", 2.5 }, - }, + { "active_skill_additive_spell_damage_modifiers_apply_to_attack_damage_at_%_value", 2.5 }, }, constantStats = { { "active_skill_additive_spell_damage_modifiers_apply_to_attack_damage_at_%_value", 200 }, @@ -11167,9 +10927,7 @@ skills["KineticBoltAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "kinetic_wand_base_number_of_zig_zags", 0.05 }, - }, + { "kinetic_wand_base_number_of_zig_zags", 0.05 }, }, constantStats = { { "kinetic_wand_base_number_of_zig_zags", 3 }, @@ -11380,9 +11138,7 @@ skills["KineticFusillade"] = { duration = true, }, qualityStats = { - Default = { - { "kinetic_fusillade_damage_+%_final_per_projectile_fired", 0.2 }, - }, + { "kinetic_fusillade_damage_+%_final_per_projectile_fired", 0.2 }, }, constantStats = { { "base_skill_effect_duration", 700 }, @@ -11600,9 +11356,7 @@ skills["KineticFusilladeAltX"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "base_skill_effect_duration", 700 }, @@ -11682,9 +11436,7 @@ skills["KineticRain"] = { area = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 90 }, @@ -11835,9 +11587,7 @@ skills["KineticRainAltX"] = { area = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 90 }, @@ -12077,9 +11827,7 @@ skills["LightningSpireTrap"] = { skill("radiusSecondaryLabel", "Impact Area:"), }, qualityStats = { - Default = { - { "lightning_tower_trap_number_of_beams", 0.05 }, - }, + { "lightning_tower_trap_number_of_beams", 0.05 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -12319,9 +12067,7 @@ skills["LightningSpireTrapAltX"] = { skill("radiusSecondaryLabel", "Impact Area:"), }, qualityStats = { - Default = { - { "trap_%_chance_to_trigger_twice", 0.75 }, - }, + { "trap_%_chance_to_trigger_twice", 0.75 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -12553,9 +12299,7 @@ skills["LightningSpireTrapAltY"] = { skill("radiusSecondaryLabel", "Impact Area:"), }, qualityStats = { - Default = { - { "lightning_tower_trap_number_of_beams", 0.1 }, - }, + { "lightning_tower_trap_number_of_beams", 0.1 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -12645,9 +12389,7 @@ skills["LightningConduit"] = { skill("radiusLabel", "Targeting range:"), }, qualityStats = { - Default = { - { "energy_release_damage_+%_final_per_5%_increased_damage_taken_from_shock_on_target", 0.2 }, - }, + { "energy_release_damage_+%_final_per_5%_increased_damage_taken_from_shock_on_target", 0.2 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 60 }, @@ -12721,9 +12463,7 @@ skills["LightningConduitAltX"] = { spell = true, }, qualityStats = { - Default = { - { "lightning_conduit_max_num_targets", 0.2 }, - }, + { "lightning_conduit_max_num_targets", 0.2 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 40 }, @@ -12824,9 +12564,7 @@ skills["LightningTendrils"] = { mod("DPS", "MORE", -1/3 * 100, 0, 0, { type = "SkillPart", skillPart = 3 }), }, qualityStats = { - Default = { - { "base_critical_strike_multiplier_+", 2 }, - }, + { "base_critical_strike_multiplier_+", 2 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 24 }, @@ -12952,9 +12690,7 @@ skills["LightningTendrilsAltX"] = { channelling = true, }, qualityStats = { - Default = { - { "base_critical_strike_multiplier_+", 2 }, - }, + { "base_critical_strike_multiplier_+", 2 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 24 }, @@ -13038,9 +12774,7 @@ skills["LightningTendrilsAltY"] = { channelling = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 24 }, @@ -13116,9 +12850,7 @@ skills["LightningTrap"] = { projectile = true, }, qualityStats = { - Default = { - { "trap_%_chance_to_trigger_twice", 0.75 }, - }, + { "trap_%_chance_to_trigger_twice", 0.75 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -13201,9 +12933,7 @@ skills["LightningTrapAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "trap_%_chance_to_trigger_twice", 0.75 }, - }, + { "trap_%_chance_to_trigger_twice", 0.75 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -13294,9 +13024,7 @@ skills["VaalLightningTrap"] = { duration = true, }, qualityStats = { - Default = { - { "shocked_ground_base_magnitude_override", 0.25 }, - }, + { "shocked_ground_base_magnitude_override", 0.25 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -13386,9 +13114,7 @@ skills["LightningWarp"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "base_cast_speed_+%", 1 }, - }, + { "base_cast_speed_+%", 1 }, }, constantStats = { { "skill_override_pvp_scaling_time_ms", 1000 }, @@ -13468,9 +13194,7 @@ skills["VaalLightningWarpInstant"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "base_cast_speed_+%", 1 }, - }, + { "base_cast_speed_+%", 1 }, }, constantStats = { { "skill_override_pvp_scaling_time_ms", 1000 }, @@ -13551,9 +13275,7 @@ skills["RollingMagma"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "number_of_chains", 0.1 }, - }, + { "number_of_chains", 0.1 }, }, constantStats = { { "monster_projectile_variation", 1 }, @@ -13643,9 +13365,7 @@ skills["Malevolence"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "delirium_aura_damage_over_time_+%_final", @@ -13735,9 +13455,7 @@ skills["Manabond"] = { skill("radiusSecondaryLabel", "Rectangle area:"), }, qualityStats = { - Default = { - { "mana_void_gain_%_missing_unreserved_mana_as_base_lightning_damage", 0.5 }, - }, + { "mana_void_gain_%_missing_unreserved_mana_as_base_lightning_damage", 0.5 }, }, stats = { "spell_minimum_base_lightning_damage", @@ -13823,9 +13541,7 @@ skills["OrbOfStorms"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "projectile_number_to_split", 0.1 }, - }, + { "projectile_number_to_split", 0.1 }, }, constantStats = { { "projectile_number_to_split", 3 }, @@ -13922,9 +13638,7 @@ skills["OrbOfStormsAltX"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "projectile_number_to_split", 0.1 }, - }, + { "projectile_number_to_split", 0.1 }, }, constantStats = { { "projectile_number_to_split", 5 }, @@ -14015,9 +13729,7 @@ skills["PenanceBrand"] = { mod("Multiplier:PenanceBrandMaxEnergy", "BASE", 20), }, qualityStats = { - Default = { - { "sigil_attached_target_hit_damage_+%_final", 0.75 }, - }, + { "sigil_attached_target_hit_damage_+%_final", 0.75 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -14127,9 +13839,7 @@ skills["PenanceBrandAltX"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "sigil_attached_target_hit_damage_+%_final", 0.75 }, - }, + { "sigil_attached_target_hit_damage_+%_final", 0.75 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -14222,9 +13932,7 @@ skills["PenanceBrandAltY"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "sigil_attached_target_hit_damage_+%_final", 1.5 }, - }, + { "sigil_attached_target_hit_damage_+%_final", 1.5 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -14315,9 +14023,7 @@ skills["PowerSiphon"] = { projectile = true, }, qualityStats = { - Default = { - { "critical_strike_multiplier_+_per_power_charge", 0.5 }, - }, + { "critical_strike_multiplier_+_per_power_charge", 0.5 }, }, constantStats = { { "chance_to_gain_power_charge_on_rare_or_unique_enemy_hit_%", 20 }, @@ -14398,9 +14104,7 @@ skills["PowerSiphonAltX"] = { projectile = true, }, qualityStats = { - Default = { - { "attack_skills_have_added_lightning_damage_equal_to_%_of_maximum_mana", 0.15 }, - }, + { "attack_skills_have_added_lightning_damage_equal_to_%_of_maximum_mana", 0.15 }, }, constantStats = { { "chance_to_gain_power_charge_on_rare_or_unique_enemy_hit_%", 20 }, @@ -14486,9 +14190,7 @@ skills["VaalPowerSiphon"] = { flag("OneShotProj"), }, qualityStats = { - Default = { - { "critical_strike_multiplier_+_per_power_charge", 0.5 }, - }, + { "critical_strike_multiplier_+_per_power_charge", 0.5 }, }, constantStats = { { "chance_to_gain_power_charge_on_rare_or_unique_enemy_hit_%", 100 }, @@ -14587,10 +14289,8 @@ skills["PurifyingFlame"] = { skill("radiusSecondaryLabel", "Shockwave:"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - { "active_skill_ground_consecration_radius_+", 0.15 }, - }, + { "active_skill_base_radius_+", 0.1 }, + { "active_skill_ground_consecration_radius_+", 0.15 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 50 }, @@ -14693,9 +14393,7 @@ skills["PurifyingFlameAltX"] = { skill("radiusSecondaryLabel", "Shockwave:"), }, qualityStats = { - Default = { - { "sanctify_wave_damage_+%_final", 1.5 }, - }, + { "sanctify_wave_damage_+%_final", 1.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 50 }, @@ -14783,9 +14481,7 @@ skills["PurityOfElements"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_resist_all_elements_%", 0.25 }, - }, + { "base_resist_all_elements_%", 0.25 }, }, stats = { "base_resist_all_elements_%", @@ -14864,9 +14560,7 @@ skills["PurityOfLightning"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_lightning_damage_resistance_%", 0.5 }, - }, + { "base_lightning_damage_resistance_%", 0.5 }, }, stats = { "base_lightning_damage_resistance_%", @@ -14946,9 +14640,7 @@ skills["VaalImpurityOfLightning"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "base_maximum_lightning_damage_resistance_%", 5 }, @@ -15038,9 +14730,7 @@ skills["PyroclastMine"] = { skill("radiusTertiaryLabel", "Area of projectile explosions:"), }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -15138,9 +14828,7 @@ skills["PyroclastMineAltX"] = { skill("radiusTertiaryLabel", "Area of projectile explosions:"), }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.05 }, - }, + { "base_number_of_projectiles", 0.05 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -15237,9 +14925,7 @@ skills["RaiseSpectre"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "minion_elemental_resistance_%", 1 }, - }, + { "minion_elemental_resistance_%", 1 }, }, constantStats = { { "active_skill_minion_movement_velocity_+%_final", 55 }, @@ -15322,9 +15008,7 @@ skills["RaiseSpectreAltX"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_spectres_allowed", 0.05 }, - }, + { "base_number_of_spectres_allowed", 0.05 }, }, constantStats = { { "active_skill_minion_movement_velocity_+%_final", 55 }, @@ -15405,9 +15089,7 @@ skills["RaiseZombie"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "base_number_of_zombies_allowed", 0.05 }, - }, + { "base_number_of_zombies_allowed", 0.05 }, }, constantStats = { { "display_minion_monster_type", 1 }, @@ -15495,9 +15177,7 @@ skills["RaiseZombieAltX"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "base_number_of_zombies_allowed", 0.05 }, - }, + { "base_number_of_zombies_allowed", 0.05 }, }, constantStats = { { "display_minion_monster_type", 1 }, @@ -15583,9 +15263,7 @@ skills["RaiseZombieAltY"] = { minion = true, }, qualityStats = { - Default = { - { "minion_chance_to_deal_double_damage_%", 0.75 }, - }, + { "minion_chance_to_deal_double_damage_%", 0.75 }, }, constantStats = { { "display_minion_monster_type", 1 }, @@ -15688,9 +15366,7 @@ skills["RighteousFire"] = { skill("dotIsArea", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "base_righteous_fire_%_of_max_life_to_deal_to_nearby_per_minute", 4200 }, @@ -15785,9 +15461,7 @@ skills["RighteousFireAltX"] = { skill("dotIsArea", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 18 }, @@ -15881,9 +15555,7 @@ skills["VaalRighteousFire"] = { skill("dotIsArea", true), }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "vaal_righteous_fire_life_and_es_%_to_lose_on_use", 60 }, @@ -15985,9 +15657,7 @@ skills["ScorchingRay"] = { flag("DotCanStackAsTotems"), }, qualityStats = { - Default = { - { "base_fire_damage_resistance_%", -0.25 }, - }, + { "base_fire_damage_resistance_%", -0.25 }, }, constantStats = { { "base_skill_effect_duration", 1500 }, @@ -16086,9 +15756,7 @@ skills["ScorchingRayAltX"] = { flag("DotCanStackAsTotems"), }, qualityStats = { - Default = { - { "fire_beam_additional_stack_damage_+%_final", 0.2 }, - }, + { "fire_beam_additional_stack_damage_+%_final", 0.2 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -16181,9 +15849,7 @@ skills["ShockNova"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "shock_maximum_magnitude_+", 0.5 }, - }, + { "shock_maximum_magnitude_+", 0.5 }, }, constantStats = { { "shock_nova_ring_chance_to_shock_+%", 100 }, @@ -16268,9 +15934,7 @@ skills["ShockNovaAltX"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "active_skill_cast_speed_+%_final", 0.5 }, - }, + { "active_skill_cast_speed_+%_final", 0.5 }, }, constantStats = { { "base_spell_repeat_count", 2 }, @@ -16371,9 +16035,7 @@ skills["SigilOfPower"] = { skill("buffAllies", true), }, qualityStats = { - Default = { - { "circle_of_power_enemy_damage_+%_final_at_max_stages", -0.2 }, - }, + { "circle_of_power_enemy_damage_+%_final_at_max_stages", -0.2 }, }, constantStats = { { "circle_of_power_max_stages", 4 }, @@ -16468,9 +16130,7 @@ skills["SiphoningTrap"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "ice_siphon_trap_max_beam_targets", 0.2 }, - }, + { "ice_siphon_trap_max_beam_targets", 0.2 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -16552,9 +16212,7 @@ skills["SiphoningTrapAltX"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "cold_dot_multiplier_+", 1 }, - }, + { "cold_dot_multiplier_+", 1 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -16639,9 +16297,7 @@ skills["SomaticShell"] = { attack = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.15 }, - }, + { "active_skill_base_area_of_effect_radius", 0.15 }, }, constantStats = { { "kinetic_shell_hit_damage_absorbed_%", 100 }, @@ -16726,9 +16382,7 @@ skills["Soulrend"] = { skill("radius", 10), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 10 }, - }, + { "base_skill_effect_duration", 10 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 25 }, @@ -16808,9 +16462,7 @@ skills["SoulrendAltX"] = { skill("radius", 10), }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 25 }, @@ -16888,9 +16540,7 @@ skills["SoulrendAltY"] = { skill("radius", 10), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 10 }, - }, + { "base_skill_effect_duration", 10 }, }, constantStats = { { "active_skill_projectile_speed_+%_variation_final", 25 }, @@ -16985,9 +16635,7 @@ skills["Spark"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -17077,9 +16725,7 @@ skills["SparkAltX"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -17171,9 +16817,7 @@ skills["SparkAltY"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 2500 }, @@ -17248,9 +16892,7 @@ skills["VaalSpark"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -17328,11 +16970,6 @@ skills["Spellslinger"] = { baseFlags = { spell = true, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, stats = { "spellslinger_mana_reservation", }, @@ -17410,9 +17047,7 @@ skills["SupportSpellslinger"] = { skill("showAverage", true), }, qualityStats = { - Default = { - { "gain_%_of_base_wand_damage_as_added_spell_damage", 1 }, - }, + { "gain_%_of_base_wand_damage_as_added_spell_damage", 1 }, }, constantStats = { { "spellslinger_trigger_on_wand_attack_%", 100 }, @@ -17494,9 +17129,7 @@ skills["SoulLink"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, constantStats = { { "soul_link_grants_take_%_of_hit_damage_from_soul_link_source_energy_shield_before_you", 30 }, @@ -17578,9 +17211,7 @@ skills["SpiritOffering"] = { skill("buffNotPlayer", true), }, qualityStats = { - Default = { - { "offering_spells_effect_+%", 0.5 }, - }, + { "offering_spells_effect_+%", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -17663,9 +17294,7 @@ skills["StormBrand"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "conduit_sigil_number_of_beam_targets", 0.05 }, - }, + { "conduit_sigil_number_of_beam_targets", 0.05 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -17762,9 +17391,7 @@ skills["StormBrandAltX"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "sigil_attached_target_hit_damage_+%_final", 0.75 }, - }, + { "sigil_attached_target_hit_damage_+%_final", 0.75 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -17859,9 +17486,7 @@ skills["StormblastMine"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "lightning_explosion_mine_aura_damage_taken_+%", 0.05 }, - }, + { "lightning_explosion_mine_aura_damage_taken_+%", 0.05 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -17982,9 +17607,7 @@ skills["Stormbind"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "rune_paint_area_of_effect_+%_final_per_rune_level", 0.5 }, - }, + { "rune_paint_area_of_effect_+%_final_per_rune_level", 0.5 }, }, constantStats = { { "rune_paint_max_rune_level", 3 }, @@ -18063,9 +17686,7 @@ skills["RuneBlast"] = { spell = true, }, qualityStats = { - Default = { - { "base_cast_speed_+%", 0.5 }, - }, + { "base_cast_speed_+%", 0.5 }, }, stats = { }, @@ -18168,9 +17789,7 @@ skills["StormbindAltX"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "rune_paint_area_of_effect_+%_final_per_rune_level", 0.5 }, - }, + { "rune_paint_area_of_effect_+%_final_per_rune_level", 0.5 }, }, constantStats = { { "rune_paint_max_rune_level", 3 }, @@ -18249,9 +17868,7 @@ skills["RuneBlastAltX"] = { spell = true, }, qualityStats = { - Default = { - { "base_cast_speed_+%", 0.5 }, - }, + { "base_cast_speed_+%", 0.5 }, }, stats = { "rune_blast_teleports_to_detonated_rune_with_100_ms_cooldown", @@ -18353,9 +17970,7 @@ skills["StormBurst"] = { skill("radiusSecondary", 22), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 20 }, - }, + { "base_skill_effect_duration", 20 }, }, constantStats = { { "storm_burst_new_damage_+%_final_per_remaining_teleport_zap", 75 }, @@ -18464,9 +18079,7 @@ skills["StormBurstAltX"] = { skill("radiusSecondary", 22), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 20 }, - }, + { "base_skill_effect_duration", 20 }, }, constantStats = { { "storm_burst_new_damage_+%_final_per_remaining_teleport_zap", 75 }, @@ -18554,9 +18167,7 @@ skills["StormCall"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "storm_call_chance_to_strike_on_cast_%", 0.75 }, - }, + { "storm_call_chance_to_strike_on_cast_%", 0.75 }, }, constantStats = { { "base_skill_effect_duration", 1500 }, @@ -18640,9 +18251,7 @@ skills["StormCallAltX"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "base_secondary_skill_effect_duration", 50 }, - }, + { "base_secondary_skill_effect_duration", 50 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -18728,9 +18337,7 @@ skills["VaalStormCall"] = { skill("radiusSecondaryLabel", "Final Lightning Strike area:"), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 6000 }, @@ -18832,9 +18439,7 @@ skills["SummonCarrionGolem"] = { flag("Condition:HaveCarrionGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -18917,9 +18522,7 @@ skills["SummonCarrionGolemAltX"] = { flag("Condition:HaveCarrionGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 3 }, @@ -19007,9 +18610,7 @@ skills["SummonCarrionGolemAltY"] = { flag("Condition:HaveCarrionGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_life_regeneration_rate_per_minute_%", 9 }, - }, + { "minion_life_regeneration_rate_per_minute_%", 9 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -19098,9 +18699,7 @@ skills["SummonChaosGolem"] = { flag("Condition:HaveChaosGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -19179,9 +18778,7 @@ skills["SummonChaosGolemAltX"] = { flag("Condition:HaveChaosGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 3 }, @@ -19266,9 +18863,7 @@ skills["SummonChaosGolemAltY"] = { mod("MinionModifier", "LIST", { mod = flag("Condition:CanWither") }), }, qualityStats = { - Default = { - { "minion_withered_effect_+%", 1 }, - }, + { "minion_withered_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -19351,9 +18946,7 @@ skills["SummonHolyRelic"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "skill_buff_effect_+%", 2 }, - }, + { "skill_buff_effect_+%", 2 }, }, constantStats = { { "base_number_of_relics_allowed", 1 }, @@ -19431,9 +19024,7 @@ skills["SummonHolyRelicAltX"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 1 }, - }, + { "minion_cooldown_recovery_+%", 1 }, }, constantStats = { { "base_number_of_relics_allowed", 2 }, @@ -19525,9 +19116,7 @@ skills["SummonLightningGolem"] = { flag("Condition:HaveLightningGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -19606,9 +19195,7 @@ skills["SummonLightningGolemAltX"] = { flag("Condition:HaveLightningGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 3 }, @@ -19681,9 +19268,7 @@ skills["SummonRagingSpirit"] = { duration = true, }, qualityStats = { - Default = { - { "summoned_raging_spirit_chance_to_spawn_additional_minion_%", 1.5 }, - }, + { "summoned_raging_spirit_chance_to_spawn_additional_minion_%", 1.5 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -19755,9 +19340,7 @@ skills["SummonRagingSpiritAltX"] = { duration = true, }, qualityStats = { - Default = { - { "active_skill_minion_movement_velocity_+%_final", 0.5 }, - }, + { "active_skill_minion_movement_velocity_+%_final", 0.5 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -19846,9 +19429,7 @@ skills["SummonReaper"] = { minion = true, }, qualityStats = { - Default = { - { "bleed_on_hit_with_attacks_%", 1 }, - }, + { "bleed_on_hit_with_attacks_%", 1 }, }, constantStats = { { "base_number_of_reapers_allowed", 1 }, @@ -19933,9 +19514,7 @@ skills["SummonReaperAltX"] = { minion = true, }, qualityStats = { - Default = { - { "minion_movement_speed_+%", 2 }, - }, + { "minion_movement_speed_+%", 2 }, }, constantStats = { { "base_number_of_reapers_allowed", 1 }, @@ -20021,9 +19600,7 @@ skills["SummonReaperAltY"] = { minion = true, }, qualityStats = { - Default = { - { "minion_aggravate_bleeding_on_attack_hit_chance_%", 2 }, - }, + { "minion_aggravate_bleeding_on_attack_hit_chance_%", 2 }, }, constantStats = { { "base_number_of_reapers_allowed", 1 }, @@ -20109,9 +19686,7 @@ skills["SummonSkeletons"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_skeletons_allowed", 0.05 }, - }, + { "base_number_of_skeletons_allowed", 0.05 }, }, constantStats = { { "base_skill_effect_duration", 20000 }, @@ -20190,9 +19765,7 @@ skills["SummonSkeletonsAltX"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_skeletons_allowed", 0.05 }, - }, + { "base_number_of_skeletons_allowed", 0.05 }, }, constantStats = { { "base_skill_effect_duration", 20000 }, @@ -20271,9 +19844,7 @@ skills["SummonSkeletonsAltY"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_skeletons_allowed", 0.05 }, - }, + { "base_number_of_skeletons_allowed", 0.05 }, }, constantStats = { { "base_skill_effect_duration", 20000 }, @@ -20354,9 +19925,7 @@ skills["VaalSummonSkeletons"] = { duration = true, }, qualityStats = { - Default = { - { "base_number_of_skeletons_allowed", 0.05 }, - }, + { "base_number_of_skeletons_allowed", 0.05 }, }, constantStats = { { "number_of_leader_skeletons_to_summon", 1 }, @@ -20444,9 +20013,7 @@ skills["SummonSkitterbots"] = { skill("radius", 30), }, qualityStats = { - Default = { - { "minion_movement_speed_+%", 2 }, - }, + { "minion_movement_speed_+%", 2 }, }, constantStats = { { "skitterbots_trap_mine_damage_+%_final", 10 }, @@ -20530,9 +20097,7 @@ skills["TempestShield"] = { skill("chanceToTriggerCounterattackOnBlock", 100, { type = "SkillType", skillType = SkillType.Spell }), }, qualityStats = { - Default = { - { "base_chance_to_shock_%", 2 }, - }, + { "base_chance_to_shock_%", 2 }, }, constantStats = { { "skill_override_pvp_scaling_time_ms", 700 }, @@ -20618,9 +20183,7 @@ skills["VoidSphere"] = { duration = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_chaos", 40 }, @@ -20708,9 +20271,7 @@ skills["VoidSphereAltX"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 25 }, - }, + { "base_skill_effect_duration", 25 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_chaos", 40 }, @@ -20805,9 +20366,7 @@ skills["VoltaxicBurst"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "voltaxic_burst_hit_and_ailment_damage_+%_final_per_stack", 0.05 }, - }, + { "voltaxic_burst_hit_and_ailment_damage_+%_final_per_stack", 0.05 }, }, constantStats = { { "skill_lightning_damage_%_to_convert_to_chaos", 40 }, @@ -20897,9 +20456,7 @@ skills["Vortex"] = { skill("radiusSecondaryLabel", "Ground Degen:"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -20990,9 +20547,7 @@ skills["VortexAltX"] = { skill("radiusSecondaryLabel", "Ground Degen:"), }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 1500 }, @@ -21070,9 +20625,7 @@ skills["WallOfForce"] = { duration = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, stats = { "base_skill_effect_duration", @@ -21158,9 +20711,7 @@ skills["WaveOfConviction"] = { duration = true, }, qualityStats = { - Default = { - { "base_penetrate_elemental_resistances_%", 0.75 }, - }, + { "base_penetrate_elemental_resistances_%", 0.75 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 25 }, @@ -21247,9 +20798,7 @@ skills["WaveOfConvictionAltY"] = { duration = true, }, qualityStats = { - Default = { - { "base_penetrate_elemental_resistances_%", 0.75 }, - }, + { "base_penetrate_elemental_resistances_%", 0.75 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 50 }, @@ -21372,9 +20921,7 @@ skills["WinterOrb"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "frost_fury_max_number_of_stages", 0.1 }, - }, + { "frost_fury_max_number_of_stages", 0.1 }, }, constantStats = { { "frost_fury_max_number_of_stages", 8 }, @@ -21506,9 +21053,7 @@ skills["WintertideBrand"] = { skill("debuffTertiary", true), }, qualityStats = { - Default = { - { "immolation_brand_burn_damage_+%_final_per_stage", 0.25 }, - }, + { "immolation_brand_burn_damage_+%_final_per_stage", 0.25 }, }, constantStats = { { "base_number_of_sigils_allowed_per_target", 1 }, @@ -21604,9 +21149,7 @@ skills["Wither"] = { skill("radius", 18), }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "chaos_damage_taken_+%", 6 }, @@ -21690,9 +21233,7 @@ skills["Wrath"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "attack_minimum_added_lightning_damage", @@ -21774,9 +21315,7 @@ skills["Zealotry"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "create_consecrated_ground_on_hit_%_vs_rare_or_unique_enemy", 10 }, diff --git a/src/Data/Skills/act_str.lua b/src/Data/Skills/act_str.lua index 98a6ae2d80..b56fd04c71 100644 --- a/src/Data/Skills/act_str.lua +++ b/src/Data/Skills/act_str.lua @@ -36,9 +36,7 @@ skills["Absolution"] = { skill("radius", 25), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -134,9 +132,7 @@ skills["AbsolutionAltX"] = { skill("radius", 25), }, qualityStats = { - Default = { - { "active_skill_additive_minion_damage_modifiers_apply_to_all_damage_at_%_value", 2.5 }, - }, + { "active_skill_additive_minion_damage_modifiers_apply_to_all_damage_at_%_value", 2.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -226,9 +222,7 @@ skills["VaalAbsolution"] = { area = true, }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 20000 }, @@ -315,9 +309,7 @@ skills["AncestralCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "skill_empowers_next_x_melee_attacks", 8 }, @@ -414,9 +406,7 @@ skills["Anger"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "attack_minimum_added_fire_damage", @@ -499,9 +489,7 @@ skills["AnimateGuardian"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "minion_movement_speed_+%", 2 }, - }, + { "minion_movement_speed_+%", 2 }, }, constantStats = { { "emerge_speed_+%", 100 }, @@ -588,9 +576,7 @@ skills["AnimateGuardianAltX"] = { permanentMinion = true, }, qualityStats = { - Default = { - { "minion_movement_speed_+%", 2 }, - }, + { "minion_movement_speed_+%", 2 }, }, constantStats = { { "emerge_speed_+%", 100 }, @@ -732,9 +718,7 @@ skills["SupportAutoexertion"] = { }, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "support_autoexertion_base_mana_cost_override", 10 }, @@ -819,9 +803,7 @@ skills["BattlemagesCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "skill_empowers_next_x_melee_attacks", 5 }, @@ -902,11 +884,6 @@ skills["BattlemagesCrySupport"] = { skill("triggeredByBattleMageCry", true), }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, stats = { "support_divine_cry_damage_+%_final", "triggered_by_divine_cry", @@ -972,9 +949,7 @@ skills["Berserk"] = { spell = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "berserk_minimum_rage", 5 }, @@ -1077,9 +1052,7 @@ skills["Bladestorm"] = { mod("BleedChance", "BASE", 100, ModFlag.Attack, 0, { type = "Condition", var = "BloodStance" }, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "bladestorm_maximum_number_of_storms_allowed", 0.05 }, - }, + { "bladestorm_maximum_number_of_storms_allowed", 0.05 }, }, constantStats = { { "bladestorm_storm_damage_+%_final", -50 }, @@ -1186,9 +1159,7 @@ skills["BladestormAltX"] = { skill("radiusSecondaryLabel", "Area of bladestorms:"), }, qualityStats = { - Default = { - { "bladestorm_maximum_number_of_storms_allowed", 0.05 }, - }, + { "bladestorm_maximum_number_of_storms_allowed", 0.05 }, }, constantStats = { { "bladestorm_storm_damage_+%_final", -50 }, @@ -1279,9 +1250,7 @@ skills["BloodAndSand"] = { spell = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "blood_sand_stance_melee_skills_area_of_effect_+%_final_in_blood_stance", -5 }, @@ -1377,9 +1346,7 @@ skills["Boneshatter"] = { flag("HasTrauma"), }, qualityStats = { - Default = { - { "trauma_strike_damage_+%_final_per_trauma", 0.05 }, - }, + { "trauma_strike_damage_+%_final_per_trauma", 0.05 }, }, constantStats = { { "trauma_strike_shockwave_area_of_effect_+%_per_100ms_stun_duration_up_to_400%", 15 }, @@ -1492,9 +1459,7 @@ skills["BoneshatterAltX"] = { flag("HasTrauma"), }, qualityStats = { - Default = { - { "trauma_strike_damage_+%_final_per_trauma_capped", 0.25 }, - }, + { "trauma_strike_damage_+%_final_per_trauma_capped", 0.25 }, }, constantStats = { { "trauma_strike_shockwave_area_of_effect_+%_per_100ms_stun_duration_up_to_400%", 15 }, @@ -1591,9 +1556,7 @@ skills["BoneshatterAltY"] = { skill("radius", 14, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "active_skill_damage_+%_final_vs_stunned_enemies", 1 }, - }, + { "active_skill_damage_+%_final_vs_stunned_enemies", 1 }, }, constantStats = { { "trauma_strike_shockwave_area_of_effect_+%_per_100ms_stun_duration_up_to_400%", 20 }, @@ -1678,9 +1641,7 @@ skills["ChainHook"] = { skill("radius", 24), }, qualityStats = { - Default = { - { "gain_x_rage_on_attack_hit", 0.05 }, - }, + { "gain_x_rage_on_attack_hit", 0.05 }, }, constantStats = { { "chain_strike_cone_radius_+_per_x_rage", 5 }, @@ -1770,9 +1731,7 @@ skills["ChainHookAltY"] = { skill("radiusSecondaryLabel", "Chain length:"), }, qualityStats = { - Default = { - { "chain_hook_attaches_to_X_targets", 0.15 }, - }, + { "chain_hook_attaches_to_X_targets", 0.15 }, }, constantStats = { { "chain_strike_cone_radius_+_per_x_rage", 5 }, @@ -1856,9 +1815,7 @@ skills["Cleave"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "cleave_+1_base_radius_per_nearby_enemy_up_to_10", 1 }, - }, + { "cleave_+1_base_radius_per_nearby_enemy_up_to_10", 1 }, }, constantStats = { { "active_skill_merged_damage_+%_final_while_dual_wielding", -40 }, @@ -1946,9 +1903,7 @@ skills["CleaveAltX"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "gain_x_rage_on_attack_hit", 0.05 }, - }, + { "gain_x_rage_on_attack_hit", 0.05 }, }, constantStats = { { "active_skill_merged_damage_+%_final_while_dual_wielding", -40 }, @@ -2039,9 +1994,7 @@ skills["VaalCleave"] = { mod("CullPercent", "MAX", 10, 0, 0, { type = "SkillName", skillName = "Cleave", includeTransfigured = true }, { type = "GlobalEffect", effectType = "Buff", effectName = "Vaal Cleave", unscalable = true } ), }, qualityStats = { - Default = { - { "cleave_+1_base_radius_per_nearby_enemy_up_to_10", 1 }, - }, + { "cleave_+1_base_radius_per_nearby_enemy_up_to_10", 1 }, }, constantStats = { { "active_skill_merged_damage_+%_final_while_dual_wielding", -40 }, @@ -2147,9 +2100,7 @@ skills["ConsecratedPath"] = { skill("radius", 23), }, qualityStats = { - Default = { - { "groundslam_damage_to_close_targets_+%_final", 0.75 }, - }, + { "groundslam_damage_to_close_targets_+%_final", 0.75 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 50 }, @@ -2243,9 +2194,7 @@ skills["ConsecratedPathAltX"] = { skill("radius", 23), }, qualityStats = { - Default = { - { "groundslam_damage_to_close_targets_+%_final", 0.75 }, - }, + { "groundslam_damage_to_close_targets_+%_final", 0.75 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 50 }, @@ -2325,9 +2274,7 @@ skills["CorruptingFever"] = { mod("Damage", "MORE", 100, ModFlag.Dot, 0, { type = "Multiplier", var = "CorruptingFeverStageAfterFirst"}), }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "base_secondary_skill_effect_duration", 1000 }, @@ -2408,9 +2355,7 @@ skills["CrushingFist"] = { area = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -2487,9 +2432,7 @@ skills["DecoyTotem"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "totem_life_+%_final", 1 }, - }, + { "totem_life_+%_final", 1 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -2574,9 +2517,7 @@ skills["DefianceBanner"] = { flag("Condition:AffectedByPlacedBanner", { type = "Condition", var = "BannerPlanted" }, { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 100 }, - }, + { "base_skill_effect_duration", 100 }, }, constantStats = { { "base_skill_effect_duration", 10000 }, @@ -2658,9 +2599,7 @@ skills["Determination"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "determination_aura_armour_+%_final", @@ -2739,9 +2678,7 @@ skills["DevouringTotem"] = { duration = true, }, qualityStats = { - Default = { - { "totem_life_+%_final", 1 }, - }, + { "totem_life_+%_final", 1 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -2827,9 +2764,7 @@ skills["DivineBlast"] = { shieldAttack = true, }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.15 }, - }, + { "active_skill_base_radius_+", 0.15 }, }, constantStats = { { "discus_slam_damage_+%_final_for_shockwave", 100 }, @@ -2934,9 +2869,7 @@ skills["DominatingBlow"] = { minion = true, }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -3028,9 +2961,7 @@ skills["DominatingBlowAltX"] = { minion = true, }, qualityStats = { - Default = { - { "active_skill_additive_minion_damage_modifiers_apply_to_all_damage_at_%_value", 2.5 }, - }, + { "active_skill_additive_minion_damage_modifiers_apply_to_all_damage_at_%_value", 2.5 }, }, constantStats = { { "base_skill_effect_duration", 3000 }, @@ -3111,9 +3042,7 @@ skills["VaalDomination"] = { minion = true, }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_skill_effect_duration", 30000 }, @@ -3197,9 +3126,7 @@ skills["DreadBanner"] = { flag("Condition:AffectedByPlacedBanner", { type = "Condition", var = "BannerPlanted" }, { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 100 }, - }, + { "base_skill_effect_duration", 100 }, }, constantStats = { { "base_skill_effect_duration", 10000 }, @@ -3306,9 +3233,7 @@ skills["Earthquake"] = { skill("radius", 28, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "quake_slam_fully_charged_explosion_damage_+%_final", 1.5 }, - }, + { "quake_slam_fully_charged_explosion_damage_+%_final", 1.5 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -3413,9 +3338,7 @@ skills["EarthquakeAltX"] = { skill("radius", 28, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 25 }, - }, + { "base_skill_effect_duration", 25 }, }, constantStats = { { "base_skill_effect_duration", 2500 }, @@ -3518,9 +3441,7 @@ skills["VaalEarthquake"] = { skill("radius", 28, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "quake_slam_fully_charged_explosion_damage_+%_final", 1.5 }, - }, + { "quake_slam_fully_charged_explosion_damage_+%_final", 1.5 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -3629,10 +3550,8 @@ skills["Earthshatter"] = { skill("radius", 18, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "spike_slam_num_spikes", 0.05 }, - { "spike_slam_max_spikes", 0.15 }, - }, + { "spike_slam_num_spikes", 0.05 }, + { "spike_slam_max_spikes", 0.15 }, }, constantStats = { { "spike_slam_explosion_damage_+%_final", -30 }, @@ -3739,10 +3658,8 @@ skills["EarthshatterAltX"] = { skill("radius", 18, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "spike_slam_num_spikes", 0.05 }, - { "spike_slam_max_spikes", 0.15 }, - }, + { "spike_slam_num_spikes", 0.05 }, + { "spike_slam_max_spikes", 0.15 }, }, constantStats = { { "spike_slam_explosion_damage_+%_final", -30 }, @@ -3849,9 +3766,7 @@ skills["EarthshatterAltY"] = { skill("radius", 18, { type = "SkillPart", skillPart = 1 }), }, qualityStats = { - Default = { - { "spike_slam_explosion_damage_+%_final", 1 }, - }, + { "spike_slam_explosion_damage_+%_final", 1 }, }, constantStats = { { "spike_slam_explosion_damage_+%_final", 100 }, @@ -3933,9 +3848,7 @@ skills["EnduringCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "endurance_charge_granted_per_X_monster_power_during_endurance_warcry", 5 }, @@ -4026,9 +3939,7 @@ skills["Eviscerate"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -4119,9 +4030,7 @@ skills["Exsanguinate"] = { mod("FireDamage", "MORE", 100, bit.bor(ModFlag.Spell,ModFlag.Dot), 0, { type = "Multiplier", var = "ExsanguinateStageAfterFirst"}, { type = "Condition", var = "ExsanguinateDebuffIsFireDamage" }), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, constantStats = { { "base_skill_effect_duration", 1000 }, @@ -4210,9 +4119,7 @@ skills["ExsanguinateAltX"] = { mod("FireDamage", "MORE", 100, bit.bor(ModFlag.Spell,ModFlag.Dot), 0, { type = "Multiplier", var = "ExsanguinateofTransmissionStageAfterFirst"}, { type = "Condition", var = "ExsanguinateDebuffIsFireDamage" }), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 100 }, - }, + { "base_skill_effect_duration", 100 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -4304,9 +4211,7 @@ skills["FlameLink"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, constantStats = { { "flame_link_added_fire_damage_from_life_%", 5 }, @@ -4389,9 +4294,7 @@ skills["FleshAndStone"] = { skill("radius", 28), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 28 }, @@ -4468,9 +4371,7 @@ skills["FrozenLegion"] = { spell = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "ring_of_ice_placement_distance", 28 }, @@ -4541,9 +4442,7 @@ skills["FrozenLegionAltX"] = { spell = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "ring_of_ice_placement_distance", 28 }, @@ -4661,11 +4560,6 @@ skills["FrozenSweep"] = { baseMods = { skill("radius", 25), }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, { "skill_disabled_unless_cloned", 1 }, @@ -4862,9 +4756,7 @@ skills["GeneralsCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "maximum_number_of_spiritual_cry_warriors", 0.05 }, - }, + { "maximum_number_of_spiritual_cry_warriors", 0.05 }, }, constantStats = { { "spiritual_cry_doubles_summoned_per_5_MP", 2 }, @@ -5024,9 +4916,7 @@ skills["GlacialHammer"] = { melee = true, }, qualityStats = { - Default = { - { "glacial_hammer_third_hit_freeze_as_though_dealt_damage_+%", 5 }, - }, + { "glacial_hammer_third_hit_freeze_as_though_dealt_damage_+%", 5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, @@ -5107,9 +4997,7 @@ skills["GlacialHammerAltX"] = { melee = true, }, qualityStats = { - Default = { - { "base_critical_strike_multiplier_+", 2 }, - }, + { "base_critical_strike_multiplier_+", 2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, @@ -5186,9 +5074,7 @@ skills["VaalGlacialHammer"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "cold_ailment_duration_+%", 2 }, - }, + { "cold_ailment_duration_+%", 2 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, @@ -5286,9 +5172,7 @@ skills["GroundSlam"] = { skill("radius", 35), }, qualityStats = { - Default = { - { "groundslam_damage_to_close_targets_+%_final", 1 }, - }, + { "groundslam_damage_to_close_targets_+%_final", 1 }, }, constantStats = { { "base_stun_threshold_reduction_+%", 25 }, @@ -5378,9 +5262,7 @@ skills["GroundSlamAltX"] = { skill("radius", 35), }, qualityStats = { - Default = { - { "groundslam_damage_to_close_targets_+%_final", 1 }, - }, + { "groundslam_damage_to_close_targets_+%_final", 1 }, }, constantStats = { { "base_stun_threshold_reduction_+%", 25 }, @@ -5477,9 +5359,7 @@ skills["VaalGroundSlam"] = { skill("radius", 39), }, qualityStats = { - Default = { - { "groundslam_damage_to_close_targets_+%_final", 1 }, - }, + { "groundslam_damage_to_close_targets_+%_final", 1 }, }, constantStats = { { "base_stun_duration_+%", 200 }, @@ -5571,9 +5451,7 @@ skills["HeavyStrike"] = { melee = true, }, qualityStats = { - Default = { - { "chance_to_deal_double_damage_%", 1 }, - }, + { "chance_to_deal_double_damage_%", 1 }, }, constantStats = { { "base_stun_threshold_reduction_+%", 25 }, @@ -5641,9 +5519,7 @@ skills["HeavyStrikeAltY"] = { melee = true, }, qualityStats = { - Default = { - { "active_skill_additive_spell_damage_modifiers_apply_to_attack_damage_at_%_value", 1 }, - }, + { "active_skill_additive_spell_damage_modifiers_apply_to_attack_damage_at_%_value", 1 }, }, constantStats = { { "chance_to_deal_double_damage_%_per_10_intelligence", 2 }, @@ -5730,9 +5606,7 @@ skills["HeraldOfAsh"] = { flag("dotIsHeraldOfAsh"), }, qualityStats = { - Default = { - { "herald_of_ash_burning_%_overkill_damage_per_minute", 15 }, - }, + { "herald_of_ash_burning_%_overkill_damage_per_minute", 15 }, }, constantStats = { { "base_skill_effect_duration", 4000 }, @@ -5815,9 +5689,7 @@ skills["HeraldOfPurity"] = { duration = true, }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_champions_of_light_allowed", 4 }, @@ -5901,9 +5773,7 @@ skills["HolyFlameTotem"] = { skill("radius", 16), }, qualityStats = { - Default = { - { "base_projectile_speed_+%", 2 }, - }, + { "base_projectile_speed_+%", 2 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -5989,9 +5859,7 @@ skills["HolyFlameTotemAltX"] = { duration = true, }, qualityStats = { - Default = { - { "holy_flame_totem_consecrated_ground_area_+%", 2 }, - }, + { "holy_flame_totem_consecrated_ground_area_+%", 2 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -6098,9 +5966,7 @@ skills["HolyHammers"] = { melee = true, }, qualityStats = { - Default = { - { "holy_hammers_damage_+%_final_if_consuming_power_charge", 1 }, - }, + { "holy_hammers_damage_+%_final_if_consuming_power_charge", 1 }, }, constantStats = { { "holy_hammers_num_additional_hammerslams_if_consuming_power_charge", 2 }, @@ -6192,9 +6058,7 @@ skills["HolyStrike"] = { duration = true, }, qualityStats = { - Default = { - { "minion_melee_range_+", 0.25 }, - }, + { "minion_melee_range_+", 0.25 }, }, constantStats = { { "base_skill_effect_duration", 10000 }, @@ -6290,9 +6154,7 @@ skills["Sweep"] = { flag("CannotBeEvaded", { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "holy_sweep_number_of_holy_bolts_to_create", 0.15 }, - }, + { "holy_sweep_number_of_holy_bolts_to_create", 0.15 }, }, constantStats = { { "active_skill_base_secondary_area_of_effect_radius", 12 }, @@ -6406,9 +6268,7 @@ skills["IceCrash"] = { skill("radiusTertiaryLabel", "Third hit:"), }, qualityStats = { - Default = { - { "physical_damage_%_to_add_as_cold", 0.75 }, - }, + { "physical_damage_%_to_add_as_cold", 0.75 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, @@ -6494,9 +6354,7 @@ skills["IceCrashAltX"] = { area = true, }, qualityStats = { - Default = { - { "physical_damage_%_to_add_as_cold", 1 }, - }, + { "physical_damage_%_to_add_as_cold", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_cold", 100 }, @@ -6583,9 +6441,7 @@ skills["ImmortalCall"] = { duration = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "mortal_call_physical_damage_taken_per_endurance_charge_consumed_final_permyriad", -1500 }, @@ -6659,9 +6515,7 @@ skills["VaalImmortalCall"] = { flag("Condition:CannotDie", { type = "GlobalEffect", effectType = "Guard" }), }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "base_skill_effect_duration", 400 }, @@ -6745,9 +6599,7 @@ skills["InfernalCry"] = { skill("radiusLabel", "Warcry area:"), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "infernal_cry_%_max_life_as_fire_on_death", 8 }, @@ -6847,11 +6699,6 @@ skills["Combust"] = { baseMods = { skill("showAverage", true), }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, }, @@ -6971,9 +6818,7 @@ skills["InfernalBlow"] = { skill("radiusLabel", "Explosion area:", { type = "SkillPart", skillPartList = { 2, 3 } }), }, qualityStats = { - Default = { - { "infernal_blow_explosion_damage_%_of_total_per_stack", 0.5 }, - }, + { "infernal_blow_explosion_damage_%_of_total_per_stack", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -7091,9 +6936,7 @@ skills["InfernalBlowAltX"] = { mod("Multiplier:DebuffStack", "BASE", 5, 0, 0, { type = "SkillPart", skillPart = 3 }), }, qualityStats = { - Default = { - { "infernal_blow_explosion_damage_%_of_total_per_stack", 0.5 }, - }, + { "infernal_blow_explosion_damage_%_of_total_per_stack", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -7175,9 +7018,7 @@ skills["IntimidatingCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "intimidating_cry_movement_speed_+%_per_5_power_up_to_cap", 3 }, @@ -7267,9 +7108,7 @@ skills["LeapSlam"] = { area = true, }, qualityStats = { - Default = { - { "stun_duration_+%_vs_enemies_that_are_on_full_life", 2 }, - }, + { "stun_duration_+%_vs_enemies_that_are_on_full_life", 2 }, }, constantStats = { { "additional_weapon_base_attack_time_ms", 550 }, @@ -7350,9 +7189,7 @@ skills["LeapSlamAltX"] = { area = true, }, qualityStats = { - Default = { - { "stun_duration_+%_vs_enemies_that_are_on_full_life", 2 }, - }, + { "stun_duration_+%_vs_enemies_that_are_on_full_life", 2 }, }, constantStats = { { "active_skill_base_area_of_effect_radius", 25 }, @@ -7448,9 +7285,7 @@ skills["MoltenShell"] = { skill("radius", 15), }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "skill_override_pvp_scaling_time_ms", 200 }, @@ -7549,9 +7384,7 @@ skills["VaalMoltenShell"] = { duration = true, }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, }, constantStats = { { "skill_override_pvp_scaling_time_ms", 1400 }, @@ -7726,9 +7559,7 @@ skills["MoltenStrike"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "active_skill_hit_ailment_damage_with_projectile_+%_final", 0.5 }, - }, + { "active_skill_hit_ailment_damage_with_projectile_+%_final", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -7936,9 +7767,7 @@ skills["MoltenStrikeAltX"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "molten_strike_every_5th_attack_projectiles_damage_+%_final", 10 }, - }, + { "molten_strike_every_5th_attack_projectiles_damage_+%_final", 10 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -8054,9 +7883,7 @@ skills["VaalMoltenStrike"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "active_skill_hit_ailment_damage_with_projectile_+%_final", 0.5 }, - }, + { "active_skill_hit_ailment_damage_with_projectile_+%_final", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -8156,9 +7983,7 @@ skills["Perforate"] = { skill("radius", 8, { type = "Condition", var = "BloodStance" }), }, qualityStats = { - Default = { - { "blood_spears_base_number_of_spears", 0.1 }, - }, + { "blood_spears_base_number_of_spears", 0.1 }, }, constantStats = { { "blood_spears_base_number_of_spears", 7 }, @@ -8257,10 +8082,8 @@ skills["PerforateAltX"] = { skill("radius", 8, { type = "Condition", var = "BloodStance" }), }, qualityStats = { - Default = { - { "blood_spears_damage_+%_final_in_blood_stance", 0.25 }, - { "skill_area_of_effect_+%_final_in_sand_stance", 1 }, - }, + { "blood_spears_damage_+%_final_in_blood_stance", 0.25 }, + { "skill_area_of_effect_+%_final_in_sand_stance", 1 }, }, constantStats = { { "blood_spears_base_number_of_spears", 5 }, @@ -8353,9 +8176,7 @@ skills["PerforateAltY"] = { skill("radius", 11), }, qualityStats = { - Default = { - { "active_skill_bleeding_damage_+%_final", 1 }, - }, + { "active_skill_bleeding_damage_+%_final", 1 }, }, constantStats = { { "blood_spears_base_number_of_spears", 6 }, @@ -8440,9 +8261,7 @@ skills["PetrifiedBlood"] = { baseFlags = { }, qualityStats = { - Default = { - { "petrified_blood_%_prevented_life_loss_to_lose_over_time", -0.25 }, - }, + { "petrified_blood_%_prevented_life_loss_to_lose_over_time", -0.25 }, }, constantStats = { { "petrified_blood_%_life_loss_below_half_from_hit_to_prevent", 40 }, @@ -8520,9 +8339,7 @@ skills["Pride"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "physical_damage_aura_nearby_enemies_physical_damage_taken_+%", @@ -8598,9 +8415,7 @@ skills["ProtectiveLink"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_effect_duration", 75 }, - }, + { "base_skill_effect_duration", 75 }, }, stats = { "bulwark_link_grants_recover_X_life_on_block", @@ -8682,9 +8497,7 @@ skills["Punishment"] = { mod("DebilitateChance", "BASE", 100), }, qualityStats = { - Default = { - { "debilitate_self_for_x_milliseconds_on_hit", 50 }, - }, + { "debilitate_self_for_x_milliseconds_on_hit", 50 }, }, constantStats = { { "debilitate_self_for_x_milliseconds_on_hit", 2000 }, @@ -8768,9 +8581,7 @@ skills["PurityOfFire"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_fire_damage_resistance_%", 0.5 }, - }, + { "base_fire_damage_resistance_%", 0.5 }, }, stats = { "base_fire_damage_resistance_%", @@ -8850,9 +8661,7 @@ skills["VaalImpurityOfFire"] = { duration = true, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, constantStats = { { "base_maximum_fire_damage_resistance_%", 5 }, @@ -8975,9 +8784,7 @@ skills["RageVortex"] = { duration = true, }, qualityStats = { - Default = { - { "rage_slash_sacrifice_rage_%", 0.25 }, - }, + { "rage_slash_sacrifice_rage_%", 0.25 }, }, constantStats = { { "rage_slash_sacrifice_rage_%", 20 }, @@ -9074,9 +8881,7 @@ skills["RageVortexAltX"] = { duration = true, }, qualityStats = { - Default = { - { "active_skill_base_area_of_effect_radius", 0.1 }, - }, + { "active_skill_base_area_of_effect_radius", 0.1 }, }, constantStats = { { "rage_slash_maximum_vortices", 1 }, @@ -9166,9 +8971,7 @@ skills["RallyingCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "rallying_cry_damage_+%_final_from_osm_per_nearby_ally", 5 }, @@ -9260,9 +9063,7 @@ skills["RejuvenationTotem"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "totem_life_+%_final", 1 }, - }, + { "totem_life_+%_final", 1 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -9347,9 +9148,7 @@ skills["VaalRejuvenationTotem"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "totem_life_+%_final", 1 }, - }, + { "totem_life_+%_final", 1 }, }, constantStats = { { "base_totem_duration", 4000 }, @@ -9429,9 +9228,7 @@ skills["SearingBond"] = { duration = true, }, qualityStats = { - Default = { - { "number_of_additional_totems_allowed", 0.1 }, - }, + { "number_of_additional_totems_allowed", 0.1 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -9523,9 +9320,7 @@ skills["SearingBondAltX"] = { duration = true, }, qualityStats = { - Default = { - { "searing_bond_totems_detonation_damage_over_time_+%_final_per_active_totem", 0.5 }, - }, + { "searing_bond_totems_detonation_damage_over_time_+%_final_per_active_totem", 0.5 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -9623,9 +9418,7 @@ skills["SeismicCry"] = { skill("radius", 60), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "skill_empowers_next_x_melee_attacks", 6 }, @@ -9716,9 +9509,7 @@ skills["ShieldCharge"] = { skill("radiusTertiaryLabel", "Charging area:"), }, qualityStats = { - Default = { - { "base_movement_velocity_+%", 1 }, - }, + { "base_movement_velocity_+%", 1 }, }, constantStats = { { "shield_charge_scaling_stun_threshold_reduction_+%_at_maximum_range", 75 }, @@ -9816,9 +9607,7 @@ skills["ShieldCrush"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "shield_crush_damage_+%_final_from_distance", 0.5 }, - }, + { "shield_crush_damage_+%_final_from_distance", 0.5 }, }, stats = { "off_hand_local_minimum_added_physical_damage", @@ -9912,9 +9701,7 @@ skills["ShieldCrushAltX"] = { skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "shield_crush_helmet_enchantment_aoe_+%_final", 2 }, - }, + { "shield_crush_helmet_enchantment_aoe_+%_final", 2 }, }, stats = { "off_hand_local_minimum_added_fire_damage", @@ -9986,9 +9773,7 @@ skills["ShieldOfLight"] = { shieldAttack = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -10081,9 +9866,7 @@ skills["ShockwaveTotem"] = { duration = true, }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.1 }, - }, + { "active_skill_base_radius_+", 0.1 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -10163,9 +9946,7 @@ skills["ShockwaveTotemAltX"] = { duration = true, }, qualityStats = { - Default = { - { "active_skill_base_radius_+", 0.15 }, - }, + { "active_skill_base_radius_+", 0.15 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -10286,10 +10067,8 @@ skills["Smite"] = { skill("radiusSecondaryLabel", "Aura area:"), }, qualityStats = { - Default = { - { "active_skill_area_damage_+%_final", 0.5 }, - { "quality_display_active_skill_area_damage_quality_negated_from_gem", 1 }, - }, + { "active_skill_area_damage_+%_final", 0.5 }, + { "quality_display_active_skill_area_damage_quality_negated_from_gem", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10394,9 +10173,7 @@ skills["SmiteAltX"] = { area = true, }, qualityStats = { - Default = { - { "smite_lightning_target_range", 1 }, - }, + { "smite_lightning_target_range", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10512,9 +10289,7 @@ skills["VaalSmite"] = { skill("radiusSecondaryLabel", "Aura area:"), }, qualityStats = { - Default = { - { "active_skill_area_damage_+%_final", 0.5 }, - }, + { "active_skill_area_damage_+%_final", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10641,9 +10416,7 @@ skills["StaticStrike"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "static_strike_zap_speed_+%", 1 }, - }, + { "static_strike_zap_speed_+%", 1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10738,9 +10511,7 @@ skills["StaticStrikeAltX"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "static_strike_maximum_gathering_lightning_stacks", 0.1 }, - }, + { "static_strike_maximum_gathering_lightning_stacks", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -10829,9 +10600,7 @@ skills["Swordstorm"] = { skill("doubleHitsWhenDualWielding", true), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 1 }, - }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -10915,9 +10684,7 @@ skills["QuickGuard"] = { mod("AvoidBleed", "BASE", 100, 0, 0, { type = "GlobalEffect", effectType = "Guard" }), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "quick_guard_damage_absorbed_%", 70 }, @@ -11008,9 +10775,7 @@ skills["Reap"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "blood_scythe_damage_+%_final_per_charge", 0.25 }, - }, + { "blood_scythe_damage_+%_final_per_charge", 0.25 }, }, constantStats = { { "blood_scythe_damage_+%_final_per_charge", 15 }, @@ -11106,9 +10871,7 @@ skills["VaalReap"] = { skill("dotIsArea", true), }, qualityStats = { - Default = { - { "blood_scythe_damage_+%_final_per_charge", 0.25 }, - }, + { "blood_scythe_damage_+%_final_per_charge", 0.25 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -11205,9 +10968,7 @@ skills["SummonFlameGolem"] = { flag("Condition:HaveFireGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -11286,9 +11047,7 @@ skills["SummonFlameGolemAltX"] = { flag("Condition:HaveFireGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 3 }, @@ -11366,9 +11125,7 @@ skills["SummonFlameGolemAltY"] = { flag("Condition:HaveFireGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -11458,9 +11215,7 @@ skills["SummonStoneGolem"] = { flag("Condition:HavePhysicalGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -11539,9 +11294,7 @@ skills["SummonStoneGolemAltX"] = { flag("Condition:HavePhysicalGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "minion_cooldown_recovery_+%", 2 }, - }, + { "minion_cooldown_recovery_+%", 2 }, }, constantStats = { { "base_number_of_golems_allowed", 3 }, @@ -11619,9 +11372,7 @@ skills["SummonStoneGolemAltY"] = { flag("Condition:HavePhysicalGolem", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "golem_buff_effect_+%", 1 }, - }, + { "golem_buff_effect_+%", 1 }, }, constantStats = { { "base_number_of_golems_allowed", 1 }, @@ -11727,9 +11478,7 @@ skills["Sunder"] = { mod("Multiplier:SunderWaveArea", "BASE", 4, 0, 0, { type = "SkillPart", skillPart = 2 }), }, qualityStats = { - Default = { - { "sunder_wave_radius_+_per_step", 0.05 }, - }, + { "sunder_wave_radius_+_per_step", 0.05 }, }, constantStats = { { "shockwave_slam_explosion_damage_+%_final", -40 }, @@ -11833,9 +11582,7 @@ skills["SunderAltX"] = { skill("radius", 12), }, qualityStats = { - Default = { - { "sunder_wave_max_steps", 0.1 }, - }, + { "sunder_wave_max_steps", 0.1 }, }, constantStats = { { "shockwave_slam_explosion_damage_+%_final", -40 }, @@ -11947,9 +11694,7 @@ skills["SunderAltY"] = { skill("radius", 12), }, qualityStats = { - Default = { - { "sunder_wave_delay_+%", -0.5 }, - }, + { "sunder_wave_delay_+%", -0.5 }, }, constantStats = { { "shockwave_slam_explosion_damage_+%_final", -40 }, @@ -12044,9 +11789,7 @@ skills["TectonicSlam"] = { skill("radiusSecondaryLabel", "Fissure Width:"), }, qualityStats = { - Default = { - { "tectonic_slam_side_crack_additional_chance_%", 1.5 }, - }, + { "tectonic_slam_side_crack_additional_chance_%", 1.5 }, }, constantStats = { { "tectonic_slam_side_crack_additional_chance_%_per_endurance_charge", 5 }, @@ -12145,9 +11888,7 @@ skills["TectonicSlamAltX"] = { skill("radiusSecondaryLabel", "Fissure Width:"), }, qualityStats = { - Default = { - { "endurance_charge_slam_damage_+%_final_per_endurance_charge_consumed", 0.25 }, - }, + { "endurance_charge_slam_damage_+%_final_per_endurance_charge_consumed", 0.25 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -12231,9 +11972,7 @@ skills["VengefulCry"] = { duration = true, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 2 }, - }, + { "base_cooldown_speed_+%", 2 }, }, constantStats = { { "retaliation_base_use_window_duration_ms", 2000 }, @@ -12323,9 +12062,7 @@ skills["VigilantStrike"] = { melee = true, }, qualityStats = { - Default = { - { "active_skill_attack_damage_+%_final_per_endurance_charge", 0.2 }, - }, + { "active_skill_attack_damage_+%_final_per_endurance_charge", 0.2 }, }, constantStats = { { "gain_fortify_on_melee_hit_ms", 8000 }, @@ -12398,9 +12135,7 @@ skills["Vitality"] = { skill("radius", 40), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 2 }, - }, + { "base_skill_area_of_effect_+%", 2 }, }, stats = { "base_life_regeneration_rate_per_minute", @@ -12498,9 +12233,7 @@ skills["VolcanicFissure"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "active_skill_hit_ailment_damage_with_projectile_+%_final", -50 }, @@ -12580,9 +12313,7 @@ skills["VolcanicFissureAltX"] = { slam = true, }, qualityStats = { - Default = { - { "vaal_volcanic_fissure_crack_repeat_count", 0.05 }, - }, + { "vaal_volcanic_fissure_crack_repeat_count", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -12674,9 +12405,7 @@ skills["VaalVolcanicFissure"] = { flag("CannotSplit"), }, qualityStats = { - Default = { - { "base_number_of_projectiles", 0.1 }, - }, + { "base_number_of_projectiles", 0.1 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -12767,9 +12496,7 @@ skills["Vulnerability"] = { skill("radius", 22), }, qualityStats = { - Default = { - { "enemy_aggravate_bleeding_on_attack_hit_chance_%_against_self", 0.5 }, - }, + { "enemy_aggravate_bleeding_on_attack_hit_chance_%_against_self", 0.5 }, }, constantStats = { { "receive_bleeding_chance_%_when_hit_by_attack", 25 }, @@ -12860,9 +12587,7 @@ skills["WarlordsMark"] = { skill("debuff", true), }, qualityStats = { - Default = { - { "grant_attacker_endurance_charge_when_hit_%_chance", 0.25 }, - }, + { "grant_attacker_endurance_charge_when_hit_%_chance", 0.25 }, }, constantStats = { { "enemy_grant_X_rage_on_stun", 10 }, @@ -12945,9 +12670,7 @@ skills["WarBanner"] = { flag("Condition:AffectedByPlacedBanner", { type = "Condition", var = "BannerPlanted" }, { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "base_skill_effect_duration", 100 }, - }, + { "base_skill_effect_duration", 100 }, }, constantStats = { { "base_skill_effect_duration", 10000 }, diff --git a/src/Data/Skills/other.lua b/src/Data/Skills/other.lua index 492aeb9bdc..01d785f2c5 100644 --- a/src/Data/Skills/other.lua +++ b/src/Data/Skills/other.lua @@ -880,10 +880,8 @@ skills["Convocation"] = { skill("buffNotPlayer", true), }, qualityStats = { - Default = { - { "skill_effect_duration_+%", 1 }, - { "base_cooldown_speed_+%", 1 }, - }, + { "skill_effect_duration_+%", 1 }, + { "base_cooldown_speed_+%", 1 }, }, constantStats = { { "base_skill_effect_duration", 2000 }, @@ -1183,9 +1181,7 @@ skills["GemDetonateMines"] = { spell = true, }, qualityStats = { - Default = { - { "mine_detonation_speed_+%", 1 }, - }, + { "mine_detonation_speed_+%", 1 }, }, constantStats = { { "display_mine_deontation_mechanics_detonation_speed_+%_final_per_sequence_mine", 10 }, @@ -1223,9 +1219,7 @@ skills["SupportDivineBlessing"] = { }, }, qualityStats = { - Default = { - { "aura_effect_+%", 0.25 }, - }, + { "aura_effect_+%", 0.25 }, }, constantStats = { { "base_spell_cast_time_ms_override", 500 }, @@ -1406,9 +1400,7 @@ skills["SupportEarthbreaker"] = { }, }, qualityStats = { - Default = { - { "totem_damage_+%", 0.5 }, - }, + { "totem_damage_+%", 0.5 }, }, constantStats = { { "base_totem_duration", 12000 }, @@ -1484,9 +1476,7 @@ skills["SupportEclipse"] = { supportGemsOnly = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { "supported_active_skill_gem_level_+", @@ -1521,9 +1511,7 @@ skills["SupportElementalPenetration"] = { statDescriptionScope = "gem_stat_descriptions", fromItem = true, qualityStats = { - Default = { - { "elemental_damage_+%", 0.5 }, - }, + { "elemental_damage_+%", 0.5 }, }, stats = { "reduce_enemy_elemental_resistance_%", @@ -2671,9 +2659,7 @@ skills["Portal"] = { spell = true, }, qualityStats = { - Default = { - { "base_cast_speed_+%", 3 }, - }, + { "base_cast_speed_+%", 3 }, }, stats = { "base_deal_no_damage", @@ -4654,9 +4640,7 @@ skills["VaalBreach"] = { spell = true, }, qualityStats = { - Default = { - { "base_cast_speed_+%", 3 }, - }, + { "base_cast_speed_+%", 3 }, }, stats = { "base_deal_no_damage", diff --git a/src/Data/Skills/sup_dex.lua b/src/Data/Skills/sup_dex.lua index ac84c53039..591f5bb4d3 100644 --- a/src/Data/Skills/sup_dex.lua +++ b/src/Data/Skills/sup_dex.lua @@ -18,9 +18,7 @@ skills["SupportAddedColdDamage"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "cold_damage_+%", 0.5 }, - }, + { "cold_damage_+%", 0.5 }, }, stats = { "global_minimum_added_cold_damage", @@ -83,9 +81,7 @@ skills["SupportAwakenedAddedColdDamage"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "cold_damage_+%", 0.5 }, - }, + { "cold_damage_+%", 0.5 }, }, stats = { "global_minimum_added_cold_damage", @@ -126,9 +122,7 @@ skills["SupportAdditionalAccuracy"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "accuracy_rating_+%", 1 }, - }, + { "accuracy_rating_+%", 1 }, }, stats = { "accuracy_rating", @@ -196,9 +190,7 @@ skills["SupportArrowNova"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 4 }, @@ -275,9 +267,7 @@ skills["SupportAwakenedArrowNova"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 5 }, @@ -341,9 +331,7 @@ skills["SupportBarrage"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 3 }, @@ -408,9 +396,7 @@ skills["SupportBlind"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "blind_effect_+%", 0.5 }, - }, + { "blind_effect_+%", 0.5 }, }, constantStats = { { "global_chance_to_blind_on_hit_%", 10 }, @@ -479,9 +465,7 @@ skills["SupportBlockChanceReduction"] = { }, }, qualityStats = { - Default = { - { "global_reduce_enemy_block_%", 0.25 }, - }, + { "global_reduce_enemy_block_%", 0.25 }, }, constantStats = { { "support_overpowered_base_duration_ms", 4000 }, @@ -548,9 +532,7 @@ skills["SupportCastOnCriticalStrike"] = { }, }, qualityStats = { - Default = { - { "attack_critical_strike_chance_+%", 1 }, - }, + { "attack_critical_strike_chance_+%", 1 }, }, constantStats = { { "cast_linked_spells_on_attack_crit_%", 100 }, @@ -617,9 +599,7 @@ skills["SupportCastOnCritTriggered"] = { }, }, qualityStats = { - Default = { - { "spell_critical_strike_chance_+%", 1 }, - }, + { "spell_critical_strike_chance_+%", 1 }, }, stats = { "support_cast_on_crit_spell_damage_+%_final", @@ -687,9 +667,7 @@ skills["SupportAwakenedCastOnCriticalStrike"] = { }, }, qualityStats = { - Default = { - { "attack_critical_strike_chance_+%", 1 }, - }, + { "attack_critical_strike_chance_+%", 1 }, }, constantStats = { { "cast_linked_spells_on_attack_crit_%", 100 }, @@ -737,9 +715,7 @@ skills["SupportCastOnCritTriggeredPlus"] = { }, }, qualityStats = { - Default = { - { "spell_critical_strike_chance_+%", 1 }, - }, + { "spell_critical_strike_chance_+%", 1 }, }, stats = { "support_cast_on_crit_spell_damage_+%_final", @@ -795,9 +771,7 @@ skills["SupportCastOnDeath"] = { skill("triggeredOnDeath", true), }, qualityStats = { - Default = { - { "area_of_effect_+%_while_dead", 3 }, - }, + { "area_of_effect_+%_while_dead", 3 }, }, constantStats = { { "cast_on_death_%", 100 }, @@ -868,9 +842,7 @@ skills["SupportCastOnWardBreak"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "trigger_on_ward_break_%_chance", 100 }, @@ -914,9 +886,7 @@ skills["SupportChain"] = { }, }, qualityStats = { - Default = { - { "chaining_range_+%", 0.5 }, - }, + { "chaining_range_+%", 0.5 }, }, constantStats = { { "number_of_chains", 2 }, @@ -985,9 +955,7 @@ skills["SupportAwakenedChain"] = { }, }, qualityStats = { - Default = { - { "chaining_range_+%", 0.5 }, - }, + { "chaining_range_+%", 0.5 }, }, constantStats = { { "number_of_chains", 3 }, @@ -1030,9 +998,7 @@ skills["SupportGreaterChain"] = { plusVersionOf = "SupportChain", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "chaining_range_+%", 0.5 }, - }, + { "chaining_range_+%", 0.5 }, }, constantStats = { { "number_of_chains", 1 }, @@ -1070,9 +1036,7 @@ skills["SupportChanceToFlee"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "global_hit_causes_monster_flee_%", 1 }, - }, + { "global_hit_causes_monster_flee_%", 1 }, }, stats = { "global_hit_causes_monster_flee_%", @@ -1135,9 +1099,7 @@ skills["SupportChargedTraps"] = { }, }, qualityStats = { - Default = { - { "trap_damage_+%", 0.5 }, - }, + { "trap_damage_+%", 0.5 }, }, constantStats = { { "trap_throwing_speed_+%_per_frenzy_charge", 10 }, @@ -1224,9 +1186,7 @@ skills["SupportCloseCombat"] = { flag("Condition:SupportedByCloseCombat"), }, qualityStats = { - Default = { - { "close_combat_damage_to_close_range_+%", 0.5 }, - }, + { "close_combat_damage_to_close_range_+%", 0.5 }, }, constantStats = { { "support_slashing_buff_base_duration_ms", 2000 }, @@ -1295,9 +1255,7 @@ skills["SupportClusterTraps"] = { }, }, qualityStats = { - Default = { - { "trap_trigger_radius_+%", 1 }, - }, + { "trap_trigger_radius_+%", 1 }, }, constantStats = { { "number_of_additional_traps_to_throw", 2 }, @@ -1361,9 +1319,7 @@ skills["SupportColdPenetration"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "cold_damage_+%", 0.5 }, - }, + { "cold_damage_+%", 0.5 }, }, stats = { "base_reduce_enemy_cold_resistance_%", @@ -1423,9 +1379,7 @@ skills["SupportAwakenedColdPenetration"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "cold_damage_+%", 0.5 }, - }, + { "cold_damage_+%", 0.5 }, }, stats = { "base_reduce_enemy_cold_resistance_%", @@ -1464,9 +1418,7 @@ skills["SupportCompanionship"] = { excludeSkillTypes = { SkillType.MinionsAreUndamagable, SkillType.Triggered, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "minion_maximum_life_+%", 1 }, - }, + { "minion_maximum_life_+%", 1 }, }, constantStats = { { "damage_removed_from_minions_before_life_or_es_%_if_only_one_minion", 15 }, @@ -1502,9 +1454,7 @@ skills["SupportCriticalStrikeAffliction"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "critical_ailment_dot_multiplier_+", 0.5 }, - }, + { "critical_ailment_dot_multiplier_+", 0.5 }, }, stats = { "critical_ailment_dot_multiplier_+", @@ -1563,9 +1513,7 @@ skills["SupportCullTheWeak"] = { plusVersionOf = "SupportCullingStrike", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "recover_%_maximum_life_on_cull", 0.1 }, - }, + { "recover_%_maximum_life_on_cull", 0.1 }, }, stats = { "kill_normal_or_magic_enemy_on_hit_if_under_x%_life", @@ -1598,9 +1546,7 @@ skills["SupportCullingStrike"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "recover_%_maximum_life_on_cull", 0.1 }, - }, + { "recover_%_maximum_life_on_cull", 0.1 }, }, stats = { "damage_+%", @@ -1667,9 +1613,7 @@ skills["SupportDeadlyAilments"] = { }, }, qualityStats = { - Default = { - { "damage_over_time_+%", 0.5 }, - }, + { "damage_over_time_+%", 0.5 }, }, constantStats = { { "support_better_ailments_hit_damage_+%_final", -80 }, @@ -1740,9 +1684,7 @@ skills["SupportAwakenedDeadlyAilments"] = { }, }, qualityStats = { - Default = { - { "damage_over_time_+%", 0.5 }, - }, + { "damage_over_time_+%", 0.5 }, }, constantStats = { { "support_better_ailments_hit_damage_+%_final", -80 }, @@ -1784,9 +1726,7 @@ skills["SupportEnhance"] = { supportGemsOnly = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { "supported_active_skill_gem_quality_%", @@ -1816,9 +1756,7 @@ skills["SupportAwakenedEnhance"] = { plusVersionOf = "SupportEnhance", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { "supported_active_skill_gem_quality_%", @@ -1857,9 +1795,7 @@ skills["SupportFasterAttacks"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "attack_speed_+%", 0.5 }, - }, + { "attack_speed_+%", 0.5 }, }, stats = { "attack_speed_+%", @@ -1918,9 +1854,7 @@ skills["SupportFasterProjectiles"] = { excludeSkillTypes = { SkillType.FixedSpeedProjectile, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_projectile_speed_+%", 0.5 }, - }, + { "base_projectile_speed_+%", 0.5 }, }, stats = { "base_projectile_speed_+%", @@ -1988,9 +1922,7 @@ skills["SupportFocusedBallista"] = { }, }, qualityStats = { - Default = { - { "totem_damage_+%", 0.5 }, - }, + { "totem_damage_+%", 0.5 }, }, stats = { "support_focused_ballista_totem_attack_speed_+%_final", @@ -2060,9 +1992,7 @@ skills["SupportFork"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "terrain_arrow_attachment_chance_reduction_+%", 100 }, @@ -2131,9 +2061,7 @@ skills["SupportAwakenedFork"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_forks_base", 1 }, @@ -2177,9 +2105,7 @@ skills["SupportGreaterFork"] = { plusVersionOf = "SupportFork", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_forks_base", 1 }, @@ -2224,9 +2150,7 @@ skills["SupportGreaterMultipleProjectiles"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 4 }, @@ -2295,9 +2219,7 @@ skills["SupportAwakenedGreaterMultipleProjectiles"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 5 }, @@ -2345,9 +2267,7 @@ skills["SupportGreaterVolley"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 1 }, - }, + { "projectile_damage_+%", 1 }, }, constantStats = { { "support_parallel_projectile_number_of_points_per_side", 4 }, @@ -2418,9 +2338,7 @@ skills["SupportHypothermia"] = { }, }, qualityStats = { - Default = { - { "additional_chance_to_freeze_chilled_enemies_%", 1 }, - }, + { "additional_chance_to_freeze_chilled_enemies_%", 1 }, }, constantStats = { { "additional_chance_to_freeze_chilled_enemies_%", 20 }, @@ -2484,9 +2402,7 @@ skills["SupportIceBite"] = { excludeSkillTypes = { SkillType.Trapped, SkillType.RemoteMined, SkillType.SummonsTotem, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "damage_+%_per_frenzy_charge", 0.1 }, - }, + { "damage_+%_per_frenzy_charge", 0.1 }, }, constantStats = { { "base_chance_to_freeze_%", 15 }, @@ -2560,9 +2476,7 @@ skills["SupportImpale"] = { } }, qualityStats = { - Default = { - { "impale_debuff_effect_+%", 0.5 }, - }, + { "impale_debuff_effect_+%", 0.5 }, }, constantStats = { { "attacks_impale_on_hit_%_chance", 60 }, @@ -2631,10 +2545,8 @@ skills["SupportInvention"] = { }, }, qualityStats = { - Default = { - { "trap_duration_+%", 1 }, - { "mine_duration_+%", 1 }, - }, + { "trap_duration_+%", 1 }, + { "mine_duration_+%", 1 }, }, stats = { "support_invention_trap_and_mine_damage_+%_final_per_second_placed_up_to_100", @@ -2676,9 +2588,7 @@ skills["SupportLethalDose"] = { }, }, qualityStats = { - Default = { - { "base_poison_damage_+%", 0.5 }, - }, + { "base_poison_damage_+%", 0.5 }, }, constantStats = { { "additional_poisons_+_to_apply_vs_non_poisoned_enemies", 2 }, @@ -2726,9 +2636,7 @@ skills["SupportLocusMine"] = { }, }, qualityStats = { - Default = { - { "mine_laying_speed_+%", 0.5 }, - }, + { "mine_laying_speed_+%", 0.5 }, }, constantStats = { { "number_of_additional_mines_to_place", 2 }, @@ -2811,9 +2719,7 @@ skills["SupportMachinations"] = { }, }, qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, constantStats = { { "skill_cost_+%_per_keystone", 10 }, @@ -2854,9 +2760,7 @@ skills["SupportChanceToPoison"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_poison_damage_+%", 0.5 }, - }, + { "base_poison_damage_+%", 0.5 }, }, constantStats = { { "base_chance_to_poison_on_hit_%", 40 }, @@ -2919,9 +2823,7 @@ skills["SupportManaLeech"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "damage_+%_while_mana_leeching", 0.5 }, - }, + { "damage_+%_while_mana_leeching", 0.5 }, }, stats = { "attack_skill_mana_leech_from_any_damage_permyriad", @@ -2997,9 +2899,7 @@ skills["SupportManaforgedArrows"] = { }, }, qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.5 }, - }, + { "base_cooldown_speed_+%", 0.5 }, }, constantStats = { { "triggered_by_manaforged_arrows_support_%_chance", 100 }, @@ -3063,9 +2963,7 @@ skills["SupportMarkOnHit"] = { isTrigger = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "mark_skills_curse_effect_+%", 0.25 }, - }, + { "mark_skills_curse_effect_+%", 0.25 }, }, stats = { "mark_skills_curse_effect_+%", @@ -3140,9 +3038,7 @@ skills["SupportMirageArcher"] = { }, }, qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, constantStats = { { "support_mirage_archer_base_duration", 4000 }, @@ -3225,9 +3121,7 @@ skills["SupportMomentum"] = { flag("SupportedByMomentum"), }, qualityStats = { - Default = { - { "support_momentum_base_buff_duration_ms", 25 }, - }, + { "support_momentum_base_buff_duration_ms", 25 }, }, constantStats = { { "support_momentum_base_buff_duration_ms", 1500 }, @@ -3298,9 +3192,7 @@ skills["SupportLesserMultipleProjectiles"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 2 }, @@ -3367,9 +3259,7 @@ skills["SupportMultipleTraps"] = { }, }, qualityStats = { - Default = { - { "trap_trigger_radius_+%", 1 }, - }, + { "trap_trigger_radius_+%", 1 }, }, constantStats = { { "number_of_additional_traps_to_throw", 2 }, @@ -3445,9 +3335,7 @@ skills["SupportNightblade"] = { flag("Condition:CanBeElusive", { type = "GlobalEffect", effectType = "Buff" }), }, qualityStats = { - Default = { - { "critical_strike_chance_+%", 1 }, - }, + { "critical_strike_chance_+%", 1 }, }, constantStats = { { "gain_elusive_on_crit_%_chance", 100 }, @@ -3512,9 +3400,7 @@ skills["SupportPacifism"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "global_hit_causes_monster_flee_%", 0.5 }, - }, + { "global_hit_causes_monster_flee_%", 0.5 }, }, stats = { "global_hit_causes_monster_flee_%", @@ -3554,9 +3440,7 @@ skills["SupportPierce"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, stats = { "projectile_base_number_of_targets_to_pierce", @@ -3623,9 +3507,7 @@ skills["SupportPointBlank"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, stats = { "projectile_damage_+%", @@ -3695,9 +3577,7 @@ skills["SupportRupture"] = { }, }, qualityStats = { - Default = { - { "critical_strike_chance_+%", 1 }, - }, + { "critical_strike_chance_+%", 1 }, }, constantStats = { { "support_rupture_bleeding_time_passed_+%_final", 25 }, @@ -3764,9 +3644,7 @@ skills["SupportSadism"] = { }, }, qualityStats = { - Default = { - { "damage_over_time_+%", 0.5 }, - }, + { "damage_over_time_+%", 0.5 }, }, stats = { "damaging_ailments_deal_damage_+%_faster", @@ -3825,9 +3703,7 @@ skills["SupportSecondWind"] = { excludeSkillTypes = { SkillType.Triggered, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.25 }, - }, + { "base_cooldown_speed_+%", 0.25 }, }, constantStats = { { "support_added_cooldown_count_if_not_instant", 1 }, @@ -3899,9 +3775,7 @@ skills["SupportSlowerProjectiles"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, stats = { "support_slower_projectiles_projectile_speed_+%_final", @@ -3965,9 +3839,7 @@ skills["SupportSwiftAffliction"] = { }, }, qualityStats = { - Default = { - { "damage_over_time_+%", 0.5 }, - }, + { "damage_over_time_+%", 0.5 }, }, constantStats = { { "support_swift_affliction_skill_effect_and_damaging_ailment_duration_+%_final", -25 }, @@ -4028,9 +3900,7 @@ skills["SupportReturningProjectiles"] = { excludeSkillTypes = { SkillType.ProjectileCannotReturn, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_projectile_speed_+%", 0.5 }, - }, + { "base_projectile_speed_+%", 0.5 }, }, stats = { "support_return_returning_projectiles_damage_+%_final", @@ -4097,9 +3967,7 @@ skills["SupportAwakenedSwiftAffliction"] = { }, }, qualityStats = { - Default = { - { "damage_over_time_+%", 0.5 }, - }, + { "damage_over_time_+%", 0.5 }, }, constantStats = { { "support_swift_affliction_skill_effect_and_damaging_ailment_duration_+%_final", -25 }, @@ -4140,10 +4008,8 @@ skills["SupportSwiftAssembly"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "mine_laying_speed_+%", 0.25 }, - { "trap_throwing_speed_+%", 0.25 }, - }, + { "mine_laying_speed_+%", 0.25 }, + { "trap_throwing_speed_+%", 0.25 }, }, constantStats = { { "throw_traps_in_circle_radius", 20 }, @@ -4216,9 +4082,7 @@ skills["SupportTrap"] = { }, }, qualityStats = { - Default = { - { "trap_damage_+%", 0.5 }, - }, + { "trap_damage_+%", 0.5 }, }, constantStats = { { "base_trap_duration", 4000 }, @@ -4286,9 +4150,7 @@ skills["SupportAdvancedTraps"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "trap_damage_+%", 0.5 }, - }, + { "trap_damage_+%", 0.5 }, }, constantStats = { { "multi_trap_and_mine_support_flags", 16 }, @@ -4361,9 +4223,7 @@ skills["SupportTrapAndMineDamage"] = { }, }, qualityStats = { - Default = { - { "damage_+%", 0.5 }, - }, + { "damage_+%", 0.5 }, }, constantStats = { { "support_trap_and_mine_damage_trap_throwing_speed_+%_final", -10 }, @@ -4439,9 +4299,7 @@ skills["SupportUnholyTrinity"] = { }, }, qualityStats = { - Default = { - { "damage_+%", 0.5 }, - }, + { "damage_+%", 0.5 }, }, stats = { "damage_+%_final_per_10_lowest_unholy_resonance", @@ -4496,9 +4354,7 @@ skills["SupportViciousProjectiles"] = { }, }, qualityStats = { - Default = { - { "physical_damage_+%", 0.5 }, - }, + { "physical_damage_+%", 0.5 }, }, constantStats = { { "support_projectile_attack_speed_+%_final", -10 }, @@ -4577,9 +4433,7 @@ skills["SupportAwakenedViciousProjectiles"] = { }, }, qualityStats = { - Default = { - { "physical_damage_+%", 0.5 }, - }, + { "physical_damage_+%", 0.5 }, }, constantStats = { { "support_projectile_attack_speed_+%_final", -10 }, @@ -4633,9 +4487,7 @@ skills["SupportVileToxins"] = { }, }, qualityStats = { - Default = { - { "base_poison_damage_+%", 0.5 }, - }, + { "base_poison_damage_+%", 0.5 }, }, constantStats = { { "support_debilitate_hit_damage_+%_final_per_poison_stack", 5 }, @@ -4702,9 +4554,7 @@ skills["SupportVoidManipulation"] = { }, }, qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, stats = { "support_void_manipulation_chaos_damage_+%_final", @@ -4770,9 +4620,7 @@ skills["SupportAwakenedVoidManipulation"] = { }, }, qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, stats = { "support_void_manipulation_chaos_damage_+%_final", @@ -4821,9 +4669,7 @@ skills["SupportVoidstorm"] = { }, }, qualityStats = { - Default = { - { "area_damage_+%", 0.5 }, - }, + { "area_damage_+%", 0.5 }, }, stats = { "support_voidstorm_trigger_voidstorm_on_rain_skill_impact", @@ -4877,9 +4723,7 @@ skills["TriggeredSupportVoidstorm"] = { projectile = true, }, qualityStats = { - Default = { - { "area_damage_+%", 0.5 }, - }, + { "area_damage_+%", 0.5 }, }, constantStats = { { "windstorm_storm_maximum_stages", 10 }, @@ -4929,9 +4773,7 @@ skills["SupportVolley"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "support_parallel_projectile_number_of_points_per_side", 2 }, @@ -4995,9 +4837,7 @@ skills["SupportWindburst"] = { ignoreMinionTypes = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "support_trigger_tornados_on_attack_hit_after_moving_X_metres", 10 }, @@ -5139,9 +4979,7 @@ skills["SupportWitheringTouch"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, constantStats = { { "support_withered_base_duration_ms", 2000 }, diff --git a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua index a59b070c47..8e6a818233 100644 --- a/src/Data/Skills/sup_int.lua +++ b/src/Data/Skills/sup_int.lua @@ -18,9 +18,7 @@ skills["SupportAddedChaosDamage"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, stats = { "global_minimum_added_chaos_damage", @@ -83,9 +81,7 @@ skills["SupportAwakenedAddedChaosDamage"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, stats = { "global_minimum_added_chaos_damage", @@ -127,9 +123,7 @@ skills["SupportAddedLightningDamage"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "lightning_damage_+%", 0.5 }, - }, + { "lightning_damage_+%", 0.5 }, }, stats = { "global_minimum_added_lightning_damage", @@ -192,9 +186,7 @@ skills["SupportAwakenedAddedLightningDamage"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "lightning_damage_+%", 0.5 }, - }, + { "lightning_damage_+%", 0.5 }, }, stats = { "global_minimum_added_lightning_damage", @@ -245,9 +237,7 @@ skills["SupportArcaneSurge"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "support_arcane_surge_base_duration_ms", 4000 }, @@ -321,9 +311,7 @@ skills["SupportArchmage"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "manaweave_cost_equals_%_unreserved_mana", 5 }, @@ -392,9 +380,7 @@ skills["SupportBlasphemy"] = { }, }, qualityStats = { - Default = { - { "curse_area_of_effect_+%", 1 }, - }, + { "curse_area_of_effect_+%", 1 }, }, constantStats = { { "support_blasphemy_curse_effect_+%_final", -25 }, @@ -467,9 +453,7 @@ skills["SupportAwakenedBlasphemy"] = { }, }, qualityStats = { - Default = { - { "curse_area_of_effect_+%", 1 }, - }, + { "curse_area_of_effect_+%", 1 }, }, constantStats = { { "support_blasphemy_curse_effect_+%_final", -25 }, @@ -525,9 +509,7 @@ skills["SupportEldritchBlasphemy"] = { }, }, qualityStats = { - Default = { - { "curse_area_of_effect_+%", 1 }, - }, + { "curse_area_of_effect_+%", 1 }, }, constantStats = { { "support_blasphemy_curse_effect_+%_final", -25 }, @@ -578,9 +560,7 @@ skills["SupportBonechill"] = { skill("supportBonechill", true), }, qualityStats = { - Default = { - { "cold_damage_+%", 0.5 }, - }, + { "cold_damage_+%", 0.5 }, }, stats = { "chill_effect_+%", @@ -642,9 +622,7 @@ skills["SupportCastWhenStunned"] = { isTrigger = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "cast_on_stunned_%", 1 }, - }, + { "cast_on_stunned_%", 1 }, }, stats = { "cast_on_stunned_%", @@ -715,9 +693,7 @@ skills["SupportCastWhileChannelling"] = { }, }, qualityStats = { - Default = { - { "channelled_skill_damage_+%", 0.5 }, - }, + { "channelled_skill_damage_+%", 0.5 }, }, stats = { "cast_while_channelling_time_ms", @@ -784,9 +760,7 @@ skills["SupportCastWhileChannellingTriggered"] = { }, }, qualityStats = { - Default = { - { "triggered_skill_damage_+%", 0.5 }, - }, + { "triggered_skill_damage_+%", 0.5 }, }, constantStats = { { "support_cast_while_channelling_triggered_skill_damage_+%_final", -30 }, @@ -858,9 +832,7 @@ skills["SupportAwakenedCastWhileChannelling"] = { }, }, qualityStats = { - Default = { - { "channelled_skill_damage_+%", 0.5 }, - }, + { "channelled_skill_damage_+%", 0.5 }, }, stats = { "cast_while_channelling_time_ms", @@ -909,9 +881,7 @@ skills["SupportCastWhileChannellingTriggeredPlus"] = { }, }, qualityStats = { - Default = { - { "triggered_skill_damage_+%", 0.5 }, - }, + { "triggered_skill_damage_+%", 0.5 }, }, constantStats = { { "support_cast_while_channelling_triggered_skill_damage_+%_final", -30 }, @@ -962,9 +932,7 @@ skills["SupportCombustion"] = { }, }, qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, constantStats = { { "base_chance_to_ignite_%", 25 }, @@ -1026,9 +994,7 @@ skills["SupportChargedMines"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "mine_damage_+%", 0.5 }, - }, + { "mine_damage_+%", 0.5 }, }, constantStats = { { "mine_throwing_speed_+%_per_frenzy_charge", 10 }, @@ -1096,9 +1062,7 @@ skills["SupportCongregation"] = { }, }, qualityStats = { - Default = { - { "minion_movement_speed_+%", 0.5 }, - }, + { "minion_movement_speed_+%", 0.5 }, }, stats = { "support_undead_army_minion_maximum_count_+%_final", @@ -1140,9 +1104,7 @@ skills["SupportConcentratedEffect"] = { }, }, qualityStats = { - Default = { - { "area_damage_+%", 0.5 }, - }, + { "area_damage_+%", 0.5 }, }, constantStats = { { "support_concentrated_effect_skill_area_of_effect_+%_final", -30 }, @@ -1211,9 +1173,7 @@ skills["SupportControlledDestruction"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "support_controlled_destruction_critical_strike_chance_+%_final", -80 }, @@ -1284,9 +1244,7 @@ skills["SupportAwakenedControlledDestruction"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "support_controlled_destruction_critical_strike_chance_+%_final", -80 }, @@ -1329,9 +1287,7 @@ skills["SupportCooldownRecovery"] = { ignoreMinionTypes = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_cooldown_speed_+%", 0.25 }, - }, + { "base_cooldown_speed_+%", 0.25 }, }, stats = { "base_cooldown_speed_+%", @@ -1367,9 +1323,7 @@ skills["SupportCursedGround"] = { excludeSkillTypes = { SkillType.Aura, SkillType.SupportedByBane, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "curse_area_of_effect_+%", 0.5 }, - }, + { "curse_area_of_effect_+%", 0.5 }, }, stats = { "base_hex_zone_skill_duration_ms", @@ -1439,11 +1393,6 @@ skills["SupportHextouch"] = { ["hextouch_support_curse_duration_+%_final"] = { }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "apply_linked_curses_on_hit_%", 100 }, }, @@ -1516,9 +1465,7 @@ skills["SupportCurseOnHitCurse"] = { }, }, qualityStats = { - Default = { - { "base_curse_duration_+%", 0.5 }, - }, + { "base_curse_duration_+%", 0.5 }, }, constantStats = { { "support_hextouch_curse_effect_+%_final", -35 }, @@ -1645,9 +1592,7 @@ skills["SupportCurseOnHitCursePlus"] = { }, }, qualityStats = { - Default = { - { "base_curse_duration_+%", 0.5 }, - }, + { "base_curse_duration_+%", 0.5 }, }, constantStats = { { "support_hextouch_curse_effect_+%_final", -35 }, @@ -1700,9 +1645,7 @@ skills["SupportPredator"] = { }, }, qualityStats = { - Default = { - { "minion_damage_+%", 0.5 }, - }, + { "minion_damage_+%", 0.5 }, }, stats = { "support_minion_focus_fire_damage_+%_final_vs_focussed_target", @@ -1762,11 +1705,6 @@ skills["SignalPrey"] = { castTime = 0, baseFlags = { }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "base_skill_effect_duration", 8000 }, }, @@ -1828,9 +1766,7 @@ skills["SupportDecay"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, stats = { "deal_chaos_damage_per_second_for_10_seconds_on_hit", @@ -1896,9 +1832,7 @@ skills["SupportDevour"] = { }, }, qualityStats = { - Default = { - { "damage_+%_if_you_have_consumed_a_corpse_recently", 4 }, - }, + { "damage_+%_if_you_have_consumed_a_corpse_recently", 4 }, }, stats = { "killing_blow_consumes_corpse_restore_x_life", @@ -1971,9 +1905,7 @@ skills["SupportGreaterDevour"] = { }, }, qualityStats = { - Default = { - { "killing_blow_consumes_corpse_chance_to_gain_soul_per_power_permillage", 0.5 }, - }, + { "killing_blow_consumes_corpse_chance_to_gain_soul_per_power_permillage", 0.5 }, }, stats = { "killing_blow_consumes_corpse_restore_x_life", @@ -2016,9 +1948,7 @@ skills["SupportEfficacy"] = { }, }, qualityStats = { - Default = { - { "damage_over_time_+%", 0.5 }, - }, + { "damage_over_time_+%", 0.5 }, }, stats = { "support_efficacy_damage_over_time_+%_final", @@ -2082,9 +2012,7 @@ skills["SupportElementalFocus"] = { }, }, qualityStats = { - Default = { - { "elemental_damage_+%", 0.5 }, - }, + { "elemental_damage_+%", 0.5 }, }, stats = { "support_gem_elemental_damage_+%_final", @@ -2150,9 +2078,7 @@ skills["SupportAwakenedElementalFocus"] = { }, }, qualityStats = { - Default = { - { "elemental_damage_+%", 0.5 }, - }, + { "elemental_damage_+%", 0.5 }, }, stats = { "support_gem_elemental_damage_+%_final", @@ -2192,9 +2118,7 @@ skills["SupportElementalProliferation"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_elemental_status_ailment_duration_+%", 0.5 }, - }, + { "base_elemental_status_ailment_duration_+%", 0.5 }, }, constantStats = { { "chance_to_freeze_shock_ignite_%", 20 }, @@ -2263,9 +2187,7 @@ skills["SupportEnergyLeech"] = { }, }, qualityStats = { - Default = { - { "damage_+%_while_es_leeching", 1 }, - }, + { "damage_+%_while_es_leeching", 1 }, }, stats = { "energy_shield_leech_from_any_damage_permyriad", @@ -2325,9 +2247,7 @@ skills["SupportEnlighten"] = { supportGemsOnly = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { }, @@ -2356,9 +2276,7 @@ skills["SupportAwakenedEnlighten"] = { plusVersionOf = "SupportEnlighten", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { }, @@ -2404,9 +2322,7 @@ skills["SupportExemplar"] = { }, }, qualityStats = { - Default = { - { "minion_critical_strike_chance_+%", 1 }, - }, + { "minion_critical_strike_chance_+%", 1 }, }, stats = { "minion_critical_strike_chance_+%_per_attack_crit_recently_up_to_100", @@ -2466,9 +2382,7 @@ skills["SupportFasterCasting"] = { excludeSkillTypes = { SkillType.Instant, SkillType.FixedCastTime, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_cast_speed_+%", 0.5 }, - }, + { "base_cast_speed_+%", 0.5 }, }, stats = { "base_cast_speed_+%", @@ -2531,9 +2445,7 @@ skills["SupportFeedingFrenzy"] = { }, }, qualityStats = { - Default = { - { "minion_movement_speed_+%", 0.5 }, - }, + { "minion_movement_speed_+%", 0.5 }, }, stats = { "minion_grant_puppet_master_buff_to_parent_on_hit_%", @@ -2602,9 +2514,7 @@ skills["SupportFocusedChannelling"] = { }, }, qualityStats = { - Default = { - { "base_cast_speed_+%", 0.5 }, - }, + { "base_cast_speed_+%", 0.5 }, }, constantStats = { { "support_focus_channel_cost_+%_final_per_second_channelling_up_to_100%", 20 }, @@ -2713,9 +2623,7 @@ skills["TriggeredSupportFoulgrasp"] = { duration = true, }, qualityStats = { - Default = { - { "graft_skill_esh_lightning_hands_number_of_hands_spawned", 0.1 }, - }, + { "graft_skill_esh_lightning_hands_number_of_hands_spawned", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 8000 }, @@ -2774,9 +2682,7 @@ skills["SupportFreshMeat"] = { mod("MinionModifier", "LIST", { mod = mod("Condition:Adrenaline", "FLAG", true) }, 0, 0, { type = "Condition", var = "FreshMeatActive" }), }, qualityStats = { - Default = { - { "minion_critical_strike_chance_+%", 1 }, - }, + { "minion_critical_strike_chance_+%", 1 }, }, constantStats = { { "support_recent_minions_effect_duration_is_%_summon_duration", 10 }, @@ -2849,9 +2755,7 @@ skills["SupportFrigidBond"] = { }, }, qualityStats = { - Default = { - { "support_damaging_links_base_duration_ms", 100 }, - }, + { "support_damaging_links_base_duration_ms", 100 }, }, constantStats = { { "support_damaging_links_base_duration_ms", 2000 }, @@ -2926,9 +2830,7 @@ skills["SupportFrostmage"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "frostmage_cost_equals_%_reserved_mana", 5 }, @@ -2973,9 +2875,7 @@ skills["SupportGluttony"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "gain_X_wildshard_stacks_on_cast", 1 }, @@ -3016,9 +2916,7 @@ skills["SupportHexBloom"] = { excludeSkillTypes = { SkillType.Aura, SkillType.PreventHexTransfer, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "hex_transfer_on_death_range_+%", 0.2 }, - }, + { "hex_transfer_on_death_range_+%", 0.2 }, }, constantStats = { { "transfer_hexes_to_X_nearby_enemies_on_kill", 1 }, @@ -3088,9 +2986,7 @@ skills["SupportHexpass"] = { }, }, qualityStats = { - Default = { - { "base_curse_duration_+%", 0.5 }, - }, + { "base_curse_duration_+%", 0.5 }, }, constantStats = { { "chance_to_ignore_hexproof_%", 100 }, @@ -3135,9 +3031,7 @@ skills["SupportHextoad"] = { }, }, qualityStats = { - Default = { - { "curse_area_of_effect_+%", 0.5 }, - }, + { "curse_area_of_effect_+%", 0.5 }, }, stats = { "base_hex_zone_skill_duration_ms", @@ -3232,9 +3126,7 @@ skills["SupportHighImpactMine"] = { }, }, qualityStats = { - Default = { - { "mine_damage_+%", 0.5 }, - }, + { "mine_damage_+%", 0.5 }, }, constantStats = { { "support_remote_mine_2_base_mine_duration", 5000 }, @@ -3344,9 +3236,7 @@ skills["TriggeredSupportHiveborn"] = { duration = true, }, qualityStats = { - Default = { - { "base_graft_skill_tul_summon_maximum_allowed_demons", 0.1 }, - }, + { "base_graft_skill_tul_summon_maximum_allowed_demons", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 10000 }, @@ -3394,9 +3284,7 @@ skills["SupportIgniteProliferation"] = { }, }, qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, stats = { "support_ignite_proliferation_radius", @@ -3457,9 +3345,7 @@ skills["SupportImmolate"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, stats = { "global_minimum_added_fire_damage_vs_burning_enemies", @@ -3522,11 +3408,6 @@ skills["SupportImpendingDoom"] = { -- Display only }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, stats = { "trigger_vicious_hex_explosion_when_curse_ends", }, @@ -3591,9 +3472,7 @@ skills["DoomBlast"] = { skill("radius", 20), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, stats = { "spell_minimum_base_chaos_damage", @@ -3659,9 +3538,7 @@ skills["SupportIncreasedAreaOfEffect"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "area_damage_+%", 0.5 }, - }, + { "area_damage_+%", 0.5 }, }, stats = { "base_skill_area_of_effect_+%", @@ -3726,9 +3603,7 @@ skills["SupportAwakenedIncreasedAreaofEffect"] = { }, }, qualityStats = { - Default = { - { "area_damage_+%", 0.5 }, - }, + { "area_damage_+%", 0.5 }, }, stats = { "base_skill_area_of_effect_+%", @@ -3768,9 +3643,7 @@ skills["SupportIncreasedCriticalDamage"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_critical_strike_multiplier_+", 0.5 }, - }, + { "base_critical_strike_multiplier_+", 0.5 }, }, stats = { "base_critical_strike_multiplier_+", @@ -3829,9 +3702,7 @@ skills["SupportIncreasedCriticalStrikes"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "critical_strike_chance_+%", 1 }, - }, + { "critical_strike_chance_+%", 1 }, }, constantStats = { { "additional_base_critical_strike_chance", 200 }, @@ -3905,9 +3776,7 @@ skills["SupportInfernalLegion"] = { }, }, qualityStats = { - Default = { - { "minion_damage_+%", 0.5 }, - }, + { "minion_damage_+%", 0.5 }, }, constantStats = { { "minion_fire_damage_%_of_maximum_life_taken_per_minute", 2400 }, @@ -3978,9 +3847,7 @@ skills["SupportInfusedChannelling"] = { }, }, qualityStats = { - Default = { - { "support_storm_barrier_damage_taken_when_hit_+%_final_while_channelling", -0.1 }, - }, + { "support_storm_barrier_damage_taken_when_hit_+%_final_while_channelling", -0.1 }, }, constantStats = { { "support_storm_barrier_damage_taken_when_hit_+%_final_while_channelling", -12 }, @@ -4054,9 +3921,7 @@ skills["SupportInnervate"] = { }, }, qualityStats = { - Default = { - { "support_innervate_buff_base_duration_ms", 100 }, - }, + { "support_innervate_buff_base_duration_ms", 100 }, }, constantStats = { { "base_chance_to_shock_%", 20 }, @@ -4130,9 +3995,7 @@ skills["SupportIntensify"] = { }, }, qualityStats = { - Default = { - { "area_damage_+%", 0.5 }, - }, + { "area_damage_+%", 0.5 }, }, constantStats = { { "support_spell_boost_area_of_effect_+%_final_per_charge", -15 }, @@ -4198,9 +4061,7 @@ skills["SupportInvertTheRules"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "elemental_damage_+%", 0.5 }, - }, + { "elemental_damage_+%", 0.5 }, }, stats = { "treat_enemy_resistances_as_negated_on_elemental_damage_hit_%_chance", @@ -4234,9 +4095,7 @@ skills["SupportItemRarity"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_killed_monster_dropped_item_rarity_+%", 0.5 }, - }, + { "base_killed_monster_dropped_item_rarity_+%", 0.5 }, }, stats = { "base_killed_monster_dropped_item_rarity_+%", @@ -4298,9 +4157,7 @@ skills["SupportKineticInstability"] = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, constantStats = { { "support_kinetic_instability_chance_to_create_instability_on_kill_%", 100 }, @@ -4438,9 +4295,7 @@ skills["SupportGreaterKineticInstability"] = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, constantStats = { { "support_kinetic_instability_chance_to_create_instability_on_critical_strike_%", 100 }, @@ -4523,9 +4378,7 @@ skills["SupportLightningPenetration"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "lightning_damage_+%", 0.5 }, - }, + { "lightning_damage_+%", 0.5 }, }, stats = { "base_reduce_enemy_lightning_resistance_%", @@ -4651,9 +4504,7 @@ skills["TriggeredSupportLivingLightning"] = { minion = true, }, qualityStats = { - Default = { - { "living_lightning_number_of_attacks", 0.1 }, - }, + { "living_lightning_number_of_attacks", 0.1 }, }, constantStats = { { "base_skill_effect_duration", 5000 }, @@ -4723,9 +4574,7 @@ skills["SupportAwakenedLightningPenetration"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "lightning_damage_+%", 0.5 }, - }, + { "lightning_damage_+%", 0.5 }, }, stats = { "base_reduce_enemy_lightning_resistance_%", @@ -4775,9 +4624,7 @@ skills["SupportMeatShield"] = { } }, qualityStats = { - Default = { - { "support_minion_defensive_stance_minion_damage_taken_+%_final", -0.25 }, - }, + { "support_minion_defensive_stance_minion_damage_taken_+%_final", -0.25 }, }, constantStats = { { "minion_chance_to_taunt_on_hit_%", 20 }, @@ -4846,9 +4693,7 @@ skills["SupportMinefield"] = { }, }, qualityStats = { - Default = { - { "mine_laying_speed_+%", 0.25 }, - }, + { "mine_laying_speed_+%", 0.25 }, }, constantStats = { { "number_of_additional_mines_to_place", 4 }, @@ -4917,9 +4762,7 @@ skills["SupportMinionDamage"] = { }, }, qualityStats = { - Default = { - { "minion_damage_+%", 0.5 }, - }, + { "minion_damage_+%", 0.5 }, }, constantStats = { { "support_minion_damage_minion_life_+%_final", -25 }, @@ -4987,9 +4830,7 @@ skills["SupportAwakenedMinionDamage"] = { }, }, qualityStats = { - Default = { - { "minion_damage_+%", 0.5 }, - }, + { "minion_damage_+%", 0.5 }, }, constantStats = { { "support_minion_damage_minion_life_+%_final", -25 }, @@ -5037,9 +4878,7 @@ skills["SupportMinionLife"] = { }, }, qualityStats = { - Default = { - { "minion_maximum_life_+%", 1 }, - }, + { "minion_maximum_life_+%", 1 }, }, stats = { "support_minion_maximum_life_+%_final", @@ -5105,9 +4944,7 @@ skills["SupportMinionPact"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, stats = { "support_minion_pact_sacrifice_nearby_damageable_minion_to_gain_permillage_of_max_life_as_physical_damage", @@ -5144,9 +4981,7 @@ skills["SupportMinionSpeed"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "minion_movement_speed_+%", 0.5 }, - }, + { "minion_movement_speed_+%", 0.5 }, }, stats = { "minion_movement_speed_+%", @@ -5213,9 +5048,7 @@ skills["SupportElementalArmy"] = { }, }, qualityStats = { - Default = { - { "minion_maximum_all_elemental_resistances_%", 0.1 }, - }, + { "minion_maximum_all_elemental_resistances_%", 0.1 }, }, constantStats = { { "minions_inflict_exposure_on_hit_%_chance", 100 }, @@ -5286,9 +5119,7 @@ skills["SupportOvercharge"] = { }, }, qualityStats = { - Default = { - { "shock_duration_+%", 1 }, - }, + { "shock_duration_+%", 1 }, }, constantStats = { { "base_chance_to_shock_%", 50 }, @@ -5360,9 +5191,7 @@ skills["SupportOverloadedIntensity"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "gain_overloaded_intensity_for_x_ms_after_losing_6_intensity", 10000 }, @@ -5403,9 +5232,7 @@ skills["SupportPhysicalToLightning"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "physical_damage_+%", 0.5 }, - }, + { "physical_damage_+%", 0.5 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_lightning", 50 }, @@ -5471,11 +5298,6 @@ skills["SupportPrismaticBurst"] = { -- Display only }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "trigger_prismatic_burst_on_hit_%_chance", 100 }, }, @@ -5561,9 +5383,7 @@ skills["PrismaticBurst"] = { skill("radius", 13), }, qualityStats = { - Default = { - { "elemental_damage_+%", 1 }, - }, + { "elemental_damage_+%", 1 }, }, stats = { "spell_minimum_base_cold_damage", @@ -5657,9 +5477,7 @@ skills["SupportPinpoint"] = { }, }, qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, constantStats = { { "number_of_additional_projectiles", 3 }, @@ -5732,9 +5550,7 @@ skills["SupportPowerChargeOnCritical"] = { }, }, qualityStats = { - Default = { - { "add_power_charge_on_critical_strike_%", 0.5 }, - }, + { "add_power_charge_on_critical_strike_%", 0.5 }, }, constantStats = { { "support_power_charge_on_crit_damage_+%_final_per_power_charge", 4 }, @@ -5806,9 +5622,7 @@ skills["SupportBlastchainMine"] = { }, }, qualityStats = { - Default = { - { "mine_damage_+%", 0.5 }, - }, + { "mine_damage_+%", 0.5 }, }, constantStats = { { "base_mine_duration", 5000 }, @@ -5890,9 +5704,7 @@ skills["SupportSacredWisps"] = { }, }, qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, stats = { "skill_used_by_sacred_wisp_damage_+%_final", @@ -6035,9 +5847,7 @@ skills["SupportSacrifice"] = { }, }, qualityStats = { - Default = { - { "chaos_damage_+%", 0.5 }, - }, + { "chaos_damage_+%", 0.5 }, }, stats = { "support_sacrifice_sacrifice_%_of_current_life", @@ -6105,9 +5915,7 @@ skills["SupportScornfulHerald"] = { }, }, qualityStats = { - Default = { - { "base_critical_strike_multiplier_+", 0.5 }, - }, + { "base_critical_strike_multiplier_+", 0.5 }, }, stats = { "additional_base_critical_strike_chance", @@ -6147,9 +5955,7 @@ skills["SupportSpellblade"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, stats = { "support_spell_weapon_damage_gain_%_of_one_hand_melee_weapon_damage_as_added_spell_damage", @@ -6219,9 +6025,7 @@ skills["SupportSpellCascade"] = { }, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_spell_cascade_number_of_cascades_per_side", 1 }, @@ -6298,9 +6102,7 @@ skills["SupportAwakenedSpellCascade"] = { }, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_spell_cascade_number_of_cascades_per_side", 1 }, @@ -6357,9 +6159,7 @@ skills["SupportGreaterSpellCascade"] = { }, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_spell_cascade_number_of_cascades_per_side", 1 }, @@ -6409,9 +6209,7 @@ skills["SupportSpellEcho"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "base_spell_repeat_count", 1 }, @@ -6486,9 +6284,7 @@ skills["SupportGreaterSpellEcho"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "base_spell_repeat_count", 2 }, @@ -6539,9 +6335,7 @@ skills["SupportAwakenedSpellEcho"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "base_spell_repeat_count", 1 }, @@ -6598,9 +6392,7 @@ skills["SupportSummonPhantasm"] = { }, }, qualityStats = { - Default = { - { "chance_to_summon_support_ghost_on_killing_blow_%", 0.5 }, - }, + { "chance_to_summon_support_ghost_on_killing_blow_%", 0.5 }, }, constantStats = { { "support_ghost_base_duration", 15000 }, @@ -6677,9 +6469,7 @@ skills["SupportSwiftbrand"] = { }, }, qualityStats = { - Default = { - { "support_rapid_activation_brand_activation_rate_+%_final", 0.25 }, - }, + { "support_rapid_activation_brand_activation_rate_+%_final", 0.25 }, }, constantStats = { { "support_rapid_activation_brand_skill_only_primary_duration_+%_final", -65 }, @@ -6751,9 +6541,7 @@ skills["SupportTrinity"] = { }, }, qualityStats = { - Default = { - { "elemental_damage_+%", 0.5 }, - }, + { "elemental_damage_+%", 0.5 }, }, constantStats = { { "elemental_damage_+%_final_per_5_lowest_resonance", 3 }, @@ -6823,9 +6611,7 @@ skills["SupportUnboundAilments"] = { }, }, qualityStats = { - Default = { - { "base_all_ailment_duration_+%", 0.5 }, - }, + { "base_all_ailment_duration_+%", 0.5 }, }, stats = { "base_all_ailment_duration_+%", @@ -6892,9 +6678,7 @@ skills["SupportAwakenedUnboundAilments"] = { }, }, qualityStats = { - Default = { - { "base_all_ailment_duration_+%", 0.5 }, - }, + { "base_all_ailment_duration_+%", 0.5 }, }, stats = { "base_all_ailment_duration_+%", @@ -6949,9 +6733,7 @@ skills["SupportUnleash"] = { flag("HasSeals"), }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "support_anticipation_rapid_fire_count", 3 }, @@ -7033,9 +6815,7 @@ skills["SupportAwakenedUnleash"] = { flag("HasSeals"), }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, stats = { "support_anticipation_rapid_fire_count", @@ -7095,9 +6875,7 @@ skills["SupportGreaterUnleash"] = { flag("HasSeals"), }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "support_anticipation_rapid_fire_count", 4 }, @@ -7142,9 +6920,7 @@ skills["SupportVaalSacrifice"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, constantStats = { { "base_spell_repeat_count", 1 }, diff --git a/src/Data/Skills/sup_str.lua b/src/Data/Skills/sup_str.lua index ae922f7fa6..a9743c31f8 100644 --- a/src/Data/Skills/sup_str.lua +++ b/src/Data/Skills/sup_str.lua @@ -17,9 +17,7 @@ skills["SupportAddedFireDamage"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, stats = { "physical_damage_%_to_add_as_fire", @@ -79,9 +77,7 @@ skills["SupportAwakenedAddedFireDamage"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, stats = { "physical_damage_%_to_add_as_fire", @@ -126,9 +122,7 @@ skills["SupportAncestralCall"] = { }, }, qualityStats = { - Default = { - { "extra_target_targeting_distance_+%", 0.75 }, - }, + { "extra_target_targeting_distance_+%", 0.75 }, }, constantStats = { { "melee_attack_number_of_spirit_strikes", 2 }, @@ -191,9 +185,7 @@ skills["SupportGreaterAncestralCall"] = { plusVersionOf = "SupportAncestralCall", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "melee_attack_number_of_spirit_strikes", 3 }, @@ -240,9 +232,7 @@ skills["SupportAwakenedAncestralCall"] = { }, }, qualityStats = { - Default = { - { "extra_target_targeting_distance_+%", 0.75 }, - }, + { "extra_target_targeting_distance_+%", 0.75 }, }, constantStats = { { "melee_attack_number_of_spirit_strikes", 3 }, @@ -283,9 +273,7 @@ skills["SupportAnnhilation"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "explode_enemies_for_10%_life_as_random_element_on_killing_blow_chance_%", 0.25 }, - }, + { "explode_enemies_for_10%_life_as_random_element_on_killing_blow_chance_%", 0.25 }, }, stats = { "explode_enemies_for_10%_life_as_random_element_on_killing_blow_chance_%", @@ -318,9 +306,7 @@ skills["SupportArrogance"] = { excludeSkillTypes = { SkillType.Blessing, }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "aura_effect_+%", 0.25 }, - }, + { "aura_effect_+%", 0.25 }, }, stats = { "aura_effect_+%", @@ -384,9 +370,7 @@ skills["SupportBehead"] = { }, }, qualityStats = { - Default = { - { "damage_vs_enemies_on_low_life_+%", 1 }, - }, + { "damage_vs_enemies_on_low_life_+%", 1 }, }, constantStats = { { "support_executioner_gain_one_rare_monster_mod_on_kill_ms", 20000 }, @@ -454,9 +438,7 @@ skills["SupportBlessedCall"] = { }, }, qualityStats = { - Default = { - { "warcry_speed_+%", 0.5 }, - }, + { "warcry_speed_+%", 0.5 }, }, constantStats = { { "warcry_cooldown_speed_+%", -20 }, @@ -523,9 +505,7 @@ skills["SupportBloodlust"] = { }, }, qualityStats = { - Default = { - { "melee_damage_vs_bleeding_enemies_+%", 0.5 }, - }, + { "melee_damage_vs_bleeding_enemies_+%", 0.5 }, }, stats = { "support_bloodlust_melee_physical_damage_+%_final_vs_bleeding_enemies", @@ -603,9 +583,7 @@ skills["SupportBloodsoakedBanner"] = { mod("Damage", "MORE", 100, 0, KeywordFlag.PhysicalDot, { type = "Multiplier", var = "BloodsoakedBannerStageAfterFirst"}), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_bloodstained_banner_apply_corrupted_blood_every_x_ms", 1000 }, @@ -658,9 +636,7 @@ skills["SupportBloodthirst"] = { }, }, qualityStats = { - Default = { - { "damage_+%_when_on_low_life", 1 }, - }, + { "damage_+%_when_on_low_life", 1 }, }, constantStats = { { "blood_price_gain_%_maximum_life_as_added_physical_damage_with_weapons_while_on_low_life", 2 }, @@ -775,9 +751,7 @@ skills["TriggeredSupportBonespire"] = { area = true, }, qualityStats = { - Default = { - { "graft_skill_uulnetol_bone_spires_num_of_spires_to_create", 0.1 }, - }, + { "graft_skill_uulnetol_bone_spires_num_of_spires_to_create", 0.1 }, }, constantStats = { { "graft_skill_uulnet_bone_spires_max_spires_allowed", 20 }, @@ -825,9 +799,7 @@ skills["SupportBrutality"] = { }, }, qualityStats = { - Default = { - { "physical_damage_+%", 0.5 }, - }, + { "physical_damage_+%", 0.5 }, }, stats = { "support_brutality_physical_damage_+%_final", @@ -894,9 +866,7 @@ skills["SupportAwakenedBrutality"] = { }, }, qualityStats = { - Default = { - { "physical_damage_+%", 0.5 }, - }, + { "physical_damage_+%", 0.5 }, }, stats = { "support_brutality_physical_damage_+%_final", @@ -942,9 +912,7 @@ skills["SupportBurningDamage"] = { }, }, qualityStats = { - Default = { - { "burn_damage_+%", 0.5 }, - }, + { "burn_damage_+%", 0.5 }, }, stats = { "support_burning_damage_+%_final", @@ -1009,9 +977,7 @@ skills["SupportAwakenedBurningDamage"] = { }, }, qualityStats = { - Default = { - { "burn_damage_+%", 0.5 }, - }, + { "burn_damage_+%", 0.5 }, }, stats = { "support_burning_damage_+%_final", @@ -1055,9 +1021,7 @@ skills["SupportCastOnMeleeKill"] = { }, }, qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, constantStats = { { "cast_linked_spells_on_melee_kill_%", 100 }, @@ -1124,9 +1088,7 @@ skills["SupportCastOnMeleeKillTriggered"] = { }, }, qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, stats = { "support_cast_on_melee_kill_spell_damage_+%_final", @@ -1196,9 +1158,7 @@ skills["SupportCastWhenDamageTaken"] = { } }, qualityStats = { - Default = { - { "cast_when_damage_taken_trigger_threshold_+%", -0.5 }, - }, + { "cast_when_damage_taken_trigger_threshold_+%", -0.5 }, }, constantStats = { { "cast_on_damage_taken_%", 100 }, @@ -1271,9 +1231,7 @@ skills["SupportChanceToBleed"] = { }, }, qualityStats = { - Default = { - { "bleeding_damage_+%", 0.5 }, - }, + { "bleeding_damage_+%", 0.5 }, }, constantStats = { { "bleed_on_hit_with_attacks_%", 25 }, @@ -1335,9 +1293,7 @@ skills["SupportColdToFire"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "cold_damage_+%", 0.5 }, - }, + { "cold_damage_+%", 0.5 }, }, constantStats = { { "skill_cold_damage_%_to_convert_to_fire", 50 }, @@ -1412,9 +1368,7 @@ skills["SupportControlledBlaze"] = { }, }, qualityStats = { - Default = { - { "base_chance_to_ignite_%", 0.5 }, - }, + { "base_chance_to_ignite_%", 0.5 }, }, stats = { "support_recent_ignites_ignite_damage_per_recent_ignite_+%_final", @@ -1504,9 +1458,7 @@ skills["SupportCorruptingCry"] = { mod("Damage", "MORE", 100, 0, KeywordFlag.PhysicalDot, { type = "Multiplier", var = "CorruptingCryStageAfterFirst"}), }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_corrupting_cry_warcry_and_first_exerted_attack_applies_corrupted_blood_for_X_ms", 2000 }, @@ -1583,9 +1535,7 @@ skills["SupportCruelty"] = { flag("Cruelty"), }, qualityStats = { - Default = { - { "cruelty_effect_+%", 0.25 }, - }, + { "cruelty_effect_+%", 0.25 }, }, constantStats = { { "support_base_cruelty_duration_ms", 4000 }, @@ -1654,9 +1604,7 @@ skills["SupportDamageOnFullLife"] = { }, }, qualityStats = { - Default = { - { "damage_+%", 0.5 }, - }, + { "damage_+%", 0.5 }, }, stats = { "support_damage_while_on_full_life_+%_final", @@ -1726,9 +1674,7 @@ skills["SupportDivineSentinel"] = { mod("CurseEffectOnSelf", "INC", -50, 0, 0, { type = "GlobalEffect", effectType = "Aura", unscalable = true }, { type = "Condition", var = "DivineSentinelSelfCurseEffect" }), }, qualityStats = { - Default = { - { "minion_maximum_life_+%", 0.5 }, - }, + { "minion_maximum_life_+%", 0.5 }, }, stats = { "minion_area_of_effect_+%", @@ -1768,9 +1714,7 @@ skills["SupportElementalDamageWithAttacks"] = { }, }, qualityStats = { - Default = { - { "elemental_damage_with_attack_skills_+%", 0.5 }, - }, + { "elemental_damage_with_attack_skills_+%", 0.5 }, }, stats = { "support_attack_skills_elemental_damage_+%_final", @@ -1835,9 +1779,7 @@ skills["SupportAwakenedElementalDamageWithAttacks"] = { }, }, qualityStats = { - Default = { - { "elemental_damage_with_attack_skills_+%", 0.5 }, - }, + { "elemental_damage_with_attack_skills_+%", 0.5 }, }, stats = { "support_attack_skills_elemental_damage_+%_final", @@ -1877,9 +1819,7 @@ skills["SupportEmpower"] = { supportGemsOnly = true, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { "supported_active_skill_gem_level_+", @@ -1909,9 +1849,7 @@ skills["SupportAwakenedEmpower"] = { plusVersionOf = "SupportEmpower", statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "local_gem_experience_gain_+%", 5 }, - }, + { "local_gem_experience_gain_+%", 5 }, }, stats = { "supported_active_skill_gem_level_+", @@ -1954,9 +1892,7 @@ skills["SupportEnduranceChargeOnMeleeStun"] = { }, }, qualityStats = { - Default = { - { "base_stun_duration_+%", 1 }, - }, + { "base_stun_duration_+%", 1 }, }, constantStats = { { "endurance_charge_on_melee_stun_damage_+%_final_per_endurance_charge", 4 }, @@ -2028,9 +1964,7 @@ skills["SupportEternalBlessing"] = { skill("lifeReservationPercent", 0), }, qualityStats = { - Default = { - { "aura_effect_+%", 0.25 }, - }, + { "aura_effect_+%", 0.25 }, }, stats = { "aura_effect_+%", @@ -2097,9 +2031,7 @@ skills["SupportExcommunicate"] = { }, }, qualityStats = { - Default = { - { "physical_damage_+%", 0.5 }, - }, + { "physical_damage_+%", 0.5 }, }, constantStats = { { "support_excommunicate_on_melee_attack_hit_for_X_ms", 3000 }, @@ -2161,9 +2093,7 @@ skills["SupportFirePenetration"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, stats = { "base_reduce_enemy_fire_resistance_%", @@ -2223,9 +2153,7 @@ skills["SupportAwakenedFirePenetration"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "fire_damage_+%", 0.5 }, - }, + { "fire_damage_+%", 0.5 }, }, stats = { "base_reduce_enemy_fire_resistance_%", @@ -2315,9 +2243,7 @@ skills["TriggeredSupportFissure"] = { melee = true, }, qualityStats = { - Default = { - { "volcanic_fissure_number_of_simultaneous_crack_count", 0.05 }, - }, + { "volcanic_fissure_number_of_simultaneous_crack_count", 0.05 }, }, constantStats = { { "skill_physical_damage_%_to_convert_to_fire", 60 }, @@ -2368,9 +2294,7 @@ skills["SupportFistofWar"] = { }, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_ancestral_slam_big_hit_max_count", 1 }, @@ -2439,9 +2363,7 @@ skills["SupportFlamewood"] = { } }, qualityStats = { - Default = { - { "totem_life_+%", 0.5 }, - }, + { "totem_life_+%", 0.5 }, }, stats = { "support_flamewood_totems_trigger_infernal_bolt_when_hit", @@ -2523,11 +2445,6 @@ skills["AvengingFlame"] = { spell = true, projectile = true, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0 }, - }, - }, constantStats = { { "active_skill_base_area_of_effect_radius", 13 }, }, @@ -2605,9 +2522,7 @@ skills["SupportFortify"] = { }, }, qualityStats = { - Default = { - { "fortify_duration_+%", 1 }, - }, + { "fortify_duration_+%", 1 }, }, constantStats = { { "chance_to_fortify_on_melee_hit_+%", 100 }, @@ -2675,9 +2590,7 @@ skills["SupportGenerosity"] = { }, }, qualityStats = { - Default = { - { "base_aura_area_of_effect_+%", 2 }, - }, + { "base_aura_area_of_effect_+%", 2 }, }, stats = { "non_curse_aura_effect_+%", @@ -2744,9 +2657,7 @@ skills["SupportAwakenedGenerosity"] = { }, }, qualityStats = { - Default = { - { "base_aura_area_of_effect_+%", 2 }, - }, + { "base_aura_area_of_effect_+%", 2 }, }, stats = { "non_curse_aura_effect_+%", @@ -2798,9 +2709,7 @@ skills["SupportGuardiansBlessing"] = { skill("lifeReservationPercent", 0, { type = "SkillType", skillType = SkillType.Aura }), }, qualityStats = { - Default = { - { "aura_effect_+%", 0.25 }, - }, + { "aura_effect_+%", 0.25 }, }, stats = { "aura_effect_+%", @@ -2867,11 +2776,6 @@ skills["SupportGuardiansBlessingMinion"] = { div = 60, }, }, - qualityStats = { - Default = { - { "dummy_stat_display_nothing", 0.25 }, - }, - }, stats = { "support_guardians_blessing_minion_physical_damage_%_of_maximum_life_and_ES_taken_per_minute", "support_guardians_blessing_summoned_minions_are_guardians_blessing_minions", @@ -2938,9 +2842,7 @@ skills["SupportHallow"] = { } }, qualityStats = { - Default = { - { "hallowing_flame_magnitude_+%", 0.5 }, - }, + { "hallowing_flame_magnitude_+%", 0.5 }, }, constantStats = { { "hallowing_flame_duration_ms", 6000 }, @@ -3008,9 +2910,7 @@ skills["SupportMoreDuration"] = { }, }, qualityStats = { - Default = { - { "support_more_duration_skill_effect_duration_+%_final", 0.5 }, - }, + { "support_more_duration_skill_effect_duration_+%_final", 0.5 }, }, stats = { "support_more_duration_skill_effect_duration_+%_final", @@ -3068,9 +2968,7 @@ skills["SupportIronGrip"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "projectile_damage_+%", 0.5 }, - }, + { "projectile_damage_+%", 0.5 }, }, stats = { "projectile_damage_+%", @@ -3129,9 +3027,7 @@ skills["SupportIronWill"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "spell_damage_+%", 0.5 }, - }, + { "spell_damage_+%", 0.5 }, }, stats = { "spell_damage_+%", @@ -3192,9 +3088,7 @@ skills["SupportItemQuantity"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "base_killed_monster_dropped_item_quantity_+%", 0.35 }, - }, + { "base_killed_monster_dropped_item_quantity_+%", 0.35 }, }, stats = { "base_killed_monster_dropped_item_quantity_+%", @@ -3253,9 +3147,7 @@ skills["SupportKnockback"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_global_chance_to_knockback_%", 0.5 }, - }, + { "base_global_chance_to_knockback_%", 0.5 }, }, constantStats = { { "knockback_distance_+%", 50 }, @@ -3324,9 +3216,7 @@ skills["SupportLessDuration"] = { }, }, qualityStats = { - Default = { - { "support_reduced_duration_skill_effect_duration_+%_final", -0.5 }, - }, + { "support_reduced_duration_skill_effect_duration_+%_final", -0.5 }, }, stats = { "support_reduced_duration_skill_effect_duration_+%_final", @@ -3386,9 +3276,7 @@ skills["SupportLifeGainOnHit"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_life_gain_per_target", 0.5 }, - }, + { "base_life_gain_per_target", 0.5 }, }, stats = { "base_life_gain_per_target", @@ -3447,9 +3335,7 @@ skills["SupportLifeLeech"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "damage_+%_while_life_leeching", 0.5 }, - }, + { "damage_+%_while_life_leeching", 0.5 }, }, stats = { "life_leech_from_any_damage_permyriad", @@ -3512,9 +3398,7 @@ skills["SupportLifetap"] = { }, }, qualityStats = { - Default = { - { "support_base_lifetap_buff_duration", 100 }, - }, + { "support_base_lifetap_buff_duration", 100 }, }, constantStats = { { "support_base_lifetap_buff_duration", 4000 }, @@ -3590,9 +3474,7 @@ skills["SupportMaim"] = { }, }, qualityStats = { - Default = { - { "maim_effect_+%", 1 }, - }, + { "maim_effect_+%", 1 }, }, constantStats = { { "maim_on_hit_%", 30 }, @@ -3666,9 +3548,7 @@ skills["SupportMeleePhysicalDamage"] = { }, }, qualityStats = { - Default = { - { "melee_physical_damage_+%", 0.5 }, - }, + { "melee_physical_damage_+%", 0.5 }, }, constantStats = { { "support_melee_physical_damage_attack_speed_+%_final", -10 }, @@ -3743,9 +3623,7 @@ skills["SupportAwakenedMeleePhysicalDamage"] = { }, }, qualityStats = { - Default = { - { "melee_physical_damage_+%", 0.5 }, - }, + { "melee_physical_damage_+%", 0.5 }, }, constantStats = { { "support_melee_physical_damage_attack_speed_+%_final", -10 }, @@ -3788,9 +3666,7 @@ skills["SupportMeleeSplash"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_melee_splash_damage_+%_final_for_splash", -40 }, @@ -3855,9 +3731,7 @@ skills["SupportAwakenedMeleeSplash"] = { statDescriptionScope = "gem_stat_descriptions", legacy = true, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, stats = { "support_melee_splash_damage_+%_final_for_splash", @@ -3904,9 +3778,7 @@ skills["SupportMultipleTotems"] = { }, }, qualityStats = { - Default = { - { "summon_totem_cast_speed_+%", 0.5 }, - }, + { "summon_totem_cast_speed_+%", 0.5 }, }, constantStats = { { "base_number_of_totems_allowed", 2 }, @@ -3985,9 +3857,7 @@ skills["SupportMultistrike"] = { }, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "base_melee_attack_repeat_count", 2 }, @@ -4075,9 +3945,7 @@ skills["SupportAwakenedMultistrike"] = { }, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "base_melee_attack_repeat_count", 3 }, @@ -4145,9 +4013,7 @@ skills["SupportGreaterMultistrike"] = { }, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "base_melee_attack_repeat_count", 3 }, @@ -4200,9 +4066,7 @@ skills["SupportOverexertion"] = { }, }, qualityStats = { - Default = { - { "empowered_attack_damage_+%", 1 }, - }, + { "empowered_attack_damage_+%", 1 }, }, stats = { "support_overexertion_damage_+%_final_per_warcry_exerting_action", @@ -4267,9 +4131,7 @@ skills["SupportOverheat"] = { }, }, qualityStats = { - Default = { - { "base_all_ailment_duration_+%", 0.5 }, - }, + { "base_all_ailment_duration_+%", 0.5 }, }, stats = { "support_overheat_ailment_damage_+%_final_per_3_fortification_consumed", @@ -4313,9 +4175,7 @@ skills["SupportPulverise"] = { }, }, qualityStats = { - Default = { - { "base_skill_area_of_effect_+%", 0.5 }, - }, + { "base_skill_area_of_effect_+%", 0.5 }, }, constantStats = { { "support_pulverise_attack_speed_+%_final", -15 }, @@ -4432,9 +4292,7 @@ skills["TriggeredSupportPyre"] = { area = true, }, qualityStats = { - Default = { - { "graft_skill_xoph_flame_pillars_number_of_pillars", 0.05 }, - }, + { "graft_skill_xoph_flame_pillars_number_of_pillars", 0.05 }, }, constantStats = { { "cover_in_ash_on_hit_%", 100 }, @@ -4480,9 +4338,7 @@ skills["SupportRage"] = { }, }, qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, constantStats = { { "gain_x_rage_on_attack_hit", 3 }, @@ -4560,9 +4416,7 @@ skills["SupportBallistaTotem"] = { }, }, qualityStats = { - Default = { - { "summon_totem_cast_speed_+%", 0.5 }, - }, + { "summon_totem_cast_speed_+%", 0.5 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -4647,9 +4501,7 @@ skills["SupportInspiration"] = { }, }, qualityStats = { - Default = { - { "support_inspiration_mana_cost_+%_final", -0.25 }, - }, + { "support_inspiration_mana_cost_+%_final", -0.25 }, }, constantStats = { { "gain_righteous_charge_on_mana_spent_%", 100 }, @@ -4734,9 +4586,7 @@ skills["SupportRuthless"] = { }, }, qualityStats = { - Default = { - { "attack_damage_+%", 0.5 }, - }, + { "attack_damage_+%", 0.5 }, }, constantStats = { { "support_ruthless_big_hit_max_count", 3 }, @@ -4812,9 +4662,7 @@ skills["SupportShockwave"] = { }, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "support_blunt_chance_to_trigger_shockwave_on_hit_%", 100 }, @@ -4885,9 +4733,7 @@ skills["SupportBluntWeaponShockwave"] = { area = true, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, stats = { "active_skill_base_area_of_effect_radius", @@ -4967,9 +4813,7 @@ skills["SupportVoidShockwave"] = { }, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "support_blunt_chance_to_trigger_shockwave_on_hit_%", 100 }, @@ -5030,9 +4874,7 @@ skills["TriggeredSupportVoidShockwave"] = { area = true, }, qualityStats = { - Default = { - { "melee_damage_+%", 0.5 }, - }, + { "melee_damage_+%", 0.5 }, }, constantStats = { { "shockwave_support_art_variation", 3 }, @@ -5088,9 +4930,7 @@ skills["SupportSpellTotem"] = { }, }, qualityStats = { - Default = { - { "summon_totem_cast_speed_+%", 0.5 }, - }, + { "summon_totem_cast_speed_+%", 0.5 }, }, constantStats = { { "base_totem_duration", 8000 }, @@ -5160,9 +5000,7 @@ skills["SupportStun"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "chance_to_double_stun_duration_%", 0.5 }, - }, + { "chance_to_double_stun_duration_%", 0.5 }, }, stats = { "base_stun_threshold_reduction_+%", @@ -5227,9 +5065,7 @@ skills["SupportTransfusion"] = { }, }, qualityStats = { - Default = { - { "base_life_cost_+%", 0.5 }, - }, + { "base_life_cost_+%", 0.5 }, }, stats = { "random_nearby_minion_gain_a_soul_eater_soul_on_X_life_spent", @@ -5297,9 +5133,7 @@ skills["SupportTrauma"] = { flag("HasTrauma"), }, qualityStats = { - Default = { - { "base_stun_threshold_reduction_+%", 0.5 }, - }, + { "base_stun_threshold_reduction_+%", 0.5 }, }, stats = { "trauma_strike_self_damage_per_trauma", @@ -5369,9 +5203,7 @@ skills["SupportUrgentOrders"] = { excludeSkillTypes = { }, statDescriptionScope = "gem_stat_descriptions", qualityStats = { - Default = { - { "warcry_speed_+%", 0.5 }, - }, + { "warcry_speed_+%", 0.5 }, }, stats = { "warcry_speed_+%", @@ -5435,9 +5267,7 @@ skills["SupportVaalTemptation"] = { }, }, qualityStats = { - Default = { - { "damage_+%", 0.5 }, - }, + { "damage_+%", 0.5 }, }, stats = { "support_vaal_temptation_physical_damage_taken_per_minute_instead_of_soul_gain_prevention", @@ -5478,9 +5308,7 @@ skills["SupportVolatility"] = { }, }, qualityStats = { - Default = { - { "damage_+%", 0.5 }, - }, + { "damage_+%", 0.5 }, }, stats = { "minimum_attack_damage_+%_final_from_volatility_support", @@ -5544,9 +5372,7 @@ skills["SupportExpertRetaliation"] = { }, }, qualityStats = { - Default = { - { "support_expert_retaliation_cooldown_speed_+%_final", 0.5 }, - }, + { "support_expert_retaliation_cooldown_speed_+%_final", 0.5 }, }, stats = { "support_expert_retaliation_cooldown_speed_+%_final", diff --git a/src/Export/Scripts/skills.lua b/src/Export/Scripts/skills.lua index f5b5bd10ef..2cb6819cef 100644 --- a/src/Export/Scripts/skills.lua +++ b/src/Export/Scripts/skills.lua @@ -404,10 +404,11 @@ directiveTable.skill = function(state, args, out) if not skill.qualityStats then skill.qualityStats = { } for i, qualityStatsRow in ipairs(dat("GrantedEffectQualityStats"):GetRowList("GrantedEffect", granted)) do - skill.qualityStats[i] = { } for j, stat in ipairs(qualityStatsRow.GrantedStats) do - table.insert(skill.qualityStats[i], { stat.Id, qualityStatsRow.StatValues[j] / 1000 }) - --ConPrintf("[%d] %s %s", i, granted.ActiveSkill.DisplayName, stat.Id) + if stat.Id ~= "dummy_stat_display_nothing" then + table.insert(skill.qualityStats, { stat.Id, qualityStatsRow.StatValues[j] / 1000 }) + end + --ConPrintf("%s %s", granted.ActiveSkill.DisplayName, stat.Id) end end end @@ -454,17 +455,8 @@ directiveTable.mods = function(state, args, out) if not args:match("noQualityStats") then if next(skill.qualityStats) ~= nil then out:write('\tqualityStats = {\n') - for i, alternates in ipairs(skill.qualityStats) do - if i == 1 then - out:write('\t\tDefault = {\n') - else - local value = i - 1 - out:write('\t\tAlternate' .. value .. ' = {\n') - end - for _, stat in ipairs(alternates) do - out:write('\t\t\t{ "', stat[1], '", ', stat[2], ' },\n') - end - out:write('\t\t},\n') + for _, stat in ipairs(skill.qualityStats) do + out:write('\t\t{ "', stat[1], '", ', stat[2], ' },\n') end out:write('\t},\n') end diff --git a/src/Modules/CalcActiveSkill.lua b/src/Modules/CalcActiveSkill.lua index 7abd03778a..de735dc5a3 100644 --- a/src/Modules/CalcActiveSkill.lua +++ b/src/Modules/CalcActiveSkill.lua @@ -171,7 +171,6 @@ function calcs.copyActiveSkill(env, mode, skill) if skill.activeEffect.srcInstance then activeEffect.level = skill.activeEffect.srcInstance.level activeEffect.quality = skill.activeEffect.srcInstance.quality - activeEffect.qualityId = skill.activeEffect.srcInstance.qualityId activeEffect.srcInstance = skill.activeEffect.srcInstance activeEffect.gemData = skill.activeEffect.srcInstance.gemData end diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index 896a1c5470..a8bc4ff6aa 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -1523,7 +1523,6 @@ function calcs.initEnv(build, mode, override, specEnv) grantedEffect = grantedEffect, level = gemInstance.level, quality = gemInstance.quality, - qualityId = gemInstance.qualityId, srcInstance = gemInstance, gemData = gemInstance.gemData, superseded = false, @@ -1595,7 +1594,6 @@ function calcs.initEnv(build, mode, override, specEnv) grantedEffect = grantedEffect, level = gemInstance.level, quality = gemInstance.quality, - qualityId = gemInstance.qualityId, srcInstance = gemInstance, gemData = gemInstance.gemData, } diff --git a/src/Modules/CalcTools.lua b/src/Modules/CalcTools.lua index cbd85a48ef..b694c779f3 100644 --- a/src/Modules/CalcTools.lua +++ b/src/Modules/CalcTools.lua @@ -176,11 +176,7 @@ end function calcLib.buildSkillInstanceStats(skillInstance, grantedEffect) local stats = { } if skillInstance.quality > 0 and grantedEffect.qualityStats then - local qualityId = skillInstance.qualityId or "Default" - local qualityStats = grantedEffect.qualityStats[qualityId] - if not qualityStats then - qualityStats = grantedEffect.qualityStats - end + local qualityStats = grantedEffect.qualityStats for _, stat in ipairs(qualityStats) do stats[stat[1]] = (stats[stat[1]] or 0) + math.modf(stat[2] * skillInstance.quality) end