From 9fc0abef8b1a47efc43dc5cdfa5e53f6ea31c0e6 Mon Sep 17 00:00:00 2001 From: LocalIdentity Date: Sun, 12 Jul 2026 18:32:59 +1000 Subject: [PATCH] Add support for Idolatry and change how Bonded lines are parsed Export Bonded modifiers into separate rune data sub-tables instead of adding "Bonded:" as a line prefix. Fix export of some Bonded mods that had separate stat entries that were not being combined. e.g. Perfect Resolve Rune did not add the bonded mods for armour, weapons, wands and staves Rebuild rune mods from rune data, keeping Bonded lines unparsed until they are enabled. Add support for the global `CanUseBonded` flag and the item-local Idol-only unlock, including socketed augment effect scaling. Add tests for many of the new changes. This now fixes all the mods that didn't parse correctly before because they were not a piece-meal mod and required explicit "Bonded:" ModParser lines --- spec/System/TestIdolatry_spec.lua | 82 +- spec/System/TestItemParse_spec.lua | 15 +- spec/System/TestItemsTab_spec.lua | 19 + spec/System/TestSocketables_spec.lua | 41 +- src/Classes/Item.lua | 173 +- src/Classes/ItemsTab.lua | 18 +- src/Data/ModCache.lua | 2 +- src/Data/ModRunes.lua | 3522 +++++++++++++++++++------- src/Export/Scripts/soulcores.lua | 71 +- src/Modules/CalcSetup.lua | 9 +- src/Modules/ModParser.lua | 7 +- 11 files changed, 2914 insertions(+), 1045 deletions(-) diff --git a/spec/System/TestIdolatry_spec.lua b/spec/System/TestIdolatry_spec.lua index 3eb4f62ee6..a8f1e733fe 100644 --- a/spec/System/TestIdolatry_spec.lua +++ b/spec/System/TestIdolatry_spec.lua @@ -59,7 +59,7 @@ describe("TestIdolatry", function() end) -- Parsing: the three stat lines must resolve to mods that scale against those multipliers. - it("parses the three Idolatry stat lines", function() + it("parses Idolatry and bonded-idol stat lines", function() local parseMod = LoadModule("Modules/ModParser") -- Helper to find the Multiplier tag on a mod (tags are stored as array entries) @@ -98,5 +98,85 @@ describe("TestIdolatry", function() assert.are.equals("BASE", resist[1].type) assert.are.equals(-4, resist[1].value) assert.are.equals("NonIdolAugmentsInEquipment", multiplierTag(resist[1]).var) + + -- 4) Fox Idol's unlock is an item-local flag, not a global condition. + local localUnlock = parseMod("Idols socketed in this item gain the benefits of their Bonded modifiers") + assert.are.equals(1, #localUnlock) + assert.are.equals("SocketedIdolsUseBondedModifiers", localUnlock[1].name) + assert.are.equals("FLAG", localUnlock[1].type) + + -- 5) The ascendancy unlock is a flag consumed by calc setup, not a condition on each bonded mod. + local globalUnlock = parseMod("Gain the benefits of Bonded modifiers on Runes and Idols") + assert.are.equals(1, #globalUnlock) + assert.are.equals("CanUseBonded", globalUnlock[1].name) + assert.are.equals("FLAG", globalUnlock[1].type) + end) + + it("enables only Idol Bonded modifiers from Fox Idol locally", function() + local item = new("Item", [[ + Test Body + Rusted Cuirass + ]]) + item.itemSocketCount = 2 + item.runes = { "Fox Idol", "Lesser Body Rune" } + item:UpdateRunes() + item:BuildAndParseRaw() + assert.is_true(item.socketedIdolsUseBondedModifiers) + + local foxBondedLine + local bodyRuneBondedLife + for _, modLine in ipairs(item.runeModLines) do + if modLine.line == "Bonded: +5% to Quality of all Skills" then + foxBondedLine = modLine + end + if modLine.line == "Bonded: +20 to maximum Life" then + bodyRuneBondedLife = modLine + end + end + assert.is_not_nil(foxBondedLine) + assert.are.equals(0, #foxBondedLine.modList) + assert.is_not_nil(bodyRuneBondedLife) + assert.are.equals(0, #bodyRuneBondedLife.modList) + + build.itemsTab:AddItem(item) + build.buildFlag = true + runCallback("OnFrame") + + local modDB = build.calcsTab.mainEnv.itemModDB + local foxBondedQuality + for _, mod in ipairs(modDB.mods.GemProperty or { }) do + if mod.value.value == 5 and mod.source == item.modSource then + foxBondedQuality = mod + break + end + end + assert.is_not_nil(foxBondedQuality) + assert.is_not_nil(foxBondedLine.bondedModList) + assert.is_nil(bodyRuneBondedLife.bondedModList) + + for _, mod in ipairs(modDB.mods.Life or { }) do + assert.is_false(mod.type == "BASE" and mod.value == 20 and mod.source == item.modSource) + end + end) + + it("enables and scales Bonded modifiers from the ascendancy flag", function() + build.spec.allocNodes[42253] = build.spec.nodes[42253] -- Wisdom of the Maji + + local item = new("Item", [[ + Test Body + Rusted Cuirass + 200% increased effect of Socketed Runes + ]]) + item.itemSocketCount = 1 + item.runes = { "Lesser Body Rune" } + item:UpdateRunes() + item:BuildAndParseRaw() + build.itemsTab:AddItem(item) + build.buildFlag = true + runCallback("OnFrame") + + local modDB = build.calcsTab.mainEnv.itemModDB + assert.are.equals(150, modDB:Sum("BASE", nil, "Life")) + assert.are.equals(60, modDB:Sum("BASE", nil, "Mana")) end) end) diff --git a/spec/System/TestItemParse_spec.lua b/spec/System/TestItemParse_spec.lua index 8034dc07b9..b1474d8d73 100644 --- a/spec/System/TestItemParse_spec.lua +++ b/spec/System/TestItemParse_spec.lua @@ -659,10 +659,15 @@ describe("TestItemParse", function() assert.are.equals(3, item.itemSocketCount) assert.are.same({ "Greater Glacial Rune", "Lesser Body Rune" }, item.runes) - assert.are.equals(1, item.runeModLines[1].runeCount) - assert.are.equals(1, item.runeModLines[2].runeCount) - assert.is_nil(item.runeModLines[3].runeCount) - assert.is_nil(item.runeModLines[4].runeCount) + local runeLines = { } + for _, modLine in ipairs(item.runeModLines) do + runeLines[modLine.line] = true + end + assert.are.equals(4, #item.runeModLines) + assert.is_true(runeLines["Adds 9 to 15 Cold Damage"]) + assert.is_true(runeLines["Leeches 3% of Physical Damage as Life"]) + assert.is_true(runeLines["Bonded: 5% increased maximum Life"]) + assert.is_true(runeLines["Bonded: 30% increased Freeze Buildup"]) for _, rune in ipairs(item.runes) do assert.are_not.equals("Lesser Glacial Rune", rune) end @@ -682,6 +687,8 @@ describe("TestItemParse", function() assert.are.equals("+30 to maximum Life", item.runeModLines[1].line) assert.are.equals("Bonded: +20 to maximum Life", item.runeModLines[2].line) assert.are.equals("Bonded: +20 to maximum Mana", item.runeModLines[3].line) + assert.are.equals(0, #item.runeModLines[2].modList) + assert.are.equals(0, #item.runeModLines[3].modList) end) it("applies increased effect of socketed runes", function() diff --git a/spec/System/TestItemsTab_spec.lua b/spec/System/TestItemsTab_spec.lua index fda210ce6e..75e1e8ec1d 100644 --- a/spec/System/TestItemsTab_spec.lua +++ b/spec/System/TestItemsTab_spec.lua @@ -722,6 +722,25 @@ describe("TestItemsTab", function() assert.are.equals("Hits against you have 20% reduced Critical Damage Bonus", ticabaRune.lines[1]) assert.are.equals("Hits against you have 20% reduced Critical Damage Bonus", ticabaRune.lines[2]) end) + + it("uses the regular rune mod as the dropdown label", function () + local weaponMods = data.itemMods.Runes["Perfect Robust Rune"].weapon + assert.are.equals("+15 to Strength", weaponMods[1]) + assert.are.same({ "Adds 6 to 10 Physical Damage to Attacks", "Adds 6 to 10 Fire damage to Attacks" }, { unpack(weaponMods.bonded) }) + + local item = new("Item", [[ + Test Wand + Runic Fork + ]]) + + for _, rune in ipairs(build.itemsTab:GetValidRunesForItem(item)) do + if rune.name == "Perfect Robust Rune" then + assert.are.equals("+15 to Strength", rune.label) + return + end + end + assert.fail("Perfect Robust Rune was not valid for a wand") + end) end) it("does nothing when no matching item is equipped", function () diff --git a/spec/System/TestSocketables_spec.lua b/spec/System/TestSocketables_spec.lua index 8fd5106198..bcbac2a32b 100644 --- a/spec/System/TestSocketables_spec.lua +++ b/spec/System/TestSocketables_spec.lua @@ -6,13 +6,19 @@ describe("TestSocketables", function() -- Item Tab display Tests -- Also checks slot type runes - local extractNamesFromModRunes = function(slotType) + local extractNamesFromModRunes = function(item) local modRunes = LoadModule("../src/Data/ModRunes") local names = { } + local baseType, specificType = item:GetSocketedAugmentTypes() for name, rune in pairs(modRunes) do - for runeSlotType, mods in pairs(rune) do - if runeSlotType == slotType then - table.insert(names, name) + if rune[baseType] or rune[specificType] then + names[name] = true + else + for soulCoreType in pairs(item.socketedSoulCoreTypes) do + if rune[soulCoreType] and rune[soulCoreType].type == "SoulCore" then + names[name] = true + break + end end end end @@ -23,36 +29,23 @@ describe("TestSocketables", function() -- ConPrintf("Testing: %s", slotType) local itemRaw = "Test\n" .. itemBase .. "\nSockets: S" - local modRunes = extractNamesFromModRunes(slotType) - -- Create an ItemTab and add a socketable item to it local item = new("Item", itemRaw) + local modRunes = extractNamesFromModRunes(item) build.itemsTab:AddItem(item) build.itemsTab:SetDisplayItem(item) runCallback("OnFrame") - -- Extract the proper slot type runes from the list + -- The dropdown combines broad and specific slot types, then deduplicates by name. + -- Compare that exact union so both missing and incorrectly included runes fail. local itemTabRunes = { } for _, rune in ipairs(build.itemsTab.controls["displayItemRune1"].list) do - if rune.slot == slotType then - table.insert(itemTabRunes, rune.name) - end - end - -- To keep the test fast, only check that the lengths match - -- This should also catch issues with multi-mod line runes since the rune name will appear - -- for the number of mod lines that the rune has. - if #itemTabRunes ~= #modRunes then - ConPrintf("Item Tab Runes for slot type '%s':", slotType) - for _, name in ipairs(itemTabRunes) do - ConPrintf(" %s", name) - end - ConPrintf("Mod Runes for slot type '%s':", slotType) - for _, name in ipairs(modRunes) do - ConPrintf(" %s", name) + if rune.name ~= "None" then + itemTabRunes[rune.name] = true end end - assert.are.equals(#itemTabRunes, #modRunes, "Mismatch in number of runes for slot type: " .. slotType) + assert.are.same(modRunes, itemTabRunes, "Rune list mismatch for slot type: " .. slotType) end -- Note: Except for weapon/armour/caster, @@ -113,4 +106,4 @@ describe("TestSocketables", function() -- it("'Dagger' runes appear in Items tab", slotTypeTest("dagger", "")) -end) \ No newline at end of file +end) diff --git a/src/Classes/Item.lua b/src/Classes/Item.lua index affafee709..03da7f28de 100644 --- a/src/Classes/Item.lua +++ b/src/Classes/Item.lua @@ -402,6 +402,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) self.implicitModLines = { } self.explicitModLines = { } local implicitLines = 0 + local skippedRuneLines = 0 self.variantList = nil self.prefixes = { } self.suffixes = { } @@ -419,6 +420,17 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) local foundExplicit, foundImplicit local linePrefix = "" local linePostfix = "" + local function storedRunesCanBeRebuilt() + if #self.runes == 0 then + return false + end + for _, rune in ipairs(self.runes) do + if rune ~= "None" and not data.itemMods.Runes[rune] then + return false + end + end + return true + end while self.rawLines[l] do local line = self.rawLines[l] @@ -754,11 +766,6 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) return "" end) - -- Used to flag Bonded soul core mods - if line:find("Bonded:") then - modLine.bonded = true - end - if modLine.rune then modLine.enchant = true end @@ -870,6 +877,12 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) foundImplicit = true gameModeStage = "IMPLICIT" end + -- Rune names are authoritative when present; their exported lines are rebuilt + -- below. Advanced-copy Bonded lines are also skipped rather than parsed. + if modLine.rune and (storedRunesCanBeRebuilt() or line:match("^Bonded:%s+")) then + skippedRuneLines = skippedRuneLines + 1 + goto continue + end local catalystScalar = 1 if line:match(" %- Unscalable Value$") or line:match(" — Unscalable Value$") then line = line:gsub(" %- Unscalable Value$", ""):gsub(" — Unscalable Value$", "") @@ -988,7 +1001,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) modLines = self.enchantModLines elseif line:find("Requires Class") then modLines = self.classRequirementModLines - elseif modLine.implicit or #self.runeModLines + #self.enchantModLines + #self.implicitModLines < implicitLines then + elseif modLine.implicit or #self.runeModLines + skippedRuneLines + #self.enchantModLines + #self.implicitModLines < implicitLines then modLines = self.implicitModLines else modLines = self.explicitModLines @@ -1044,17 +1057,8 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) if self.base then if self.base.weapon or self.base.armour or self.base.tags.wand or self.base.tags.staff or self.base.tags.sceptre or self.itemSocketCount > 0 then local shouldFixRunesOnItem = #self.runes == 0 - if not shouldFixRunesOnItem and #self.runeModLines > 0 then - local canRebuildRunes = true - for _, rune in ipairs(self.runes) do - if rune ~= "None" and not data.itemMods.Runes[rune] then - canRebuildRunes = false - break - end - end - if canRebuildRunes then - self:UpdateRunes() - end + if storedRunesCanBeRebuilt() then + self:UpdateRunes() end local function getRuneLineParts(modLine) @@ -1172,7 +1176,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) if slotType == broadItemType or slotType == specificItemType or (slotMod.type == "SoulCore" and self.socketedSoulCoreTypes[slotType]) then local effectModifier = gameSocketedAugmentEffectModifiers.SocketedAugmentItemEffect + (gameSocketedAugmentEffectModifiers["Socketed" .. slotMod.type .. "Effect"] or 0) local valueScalar = effectModifier ~= 0 and 1 + effectModifier - for _, modLine in ipairs(slotMod) do + local addModToGroupedRunes = function(modLine) local line = modLine if valueScalar then local bondedPrefix = line:match("^(Bonded: )") or "" @@ -1193,6 +1197,14 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) t_insert(groupedRunes, rune) end end + for _, modLine in ipairs(slotMod) do + addModToGroupedRunes(modLine) + end + if slotMod.bonded then + for _, modLine in ipairs(slotMod.bonded) do + addModToGroupedRunes("Bonded: " .. modLine) + end + end end end end @@ -1251,6 +1263,11 @@ function ItemClass:ParseRaw(raw, rarity, highQuality) end end end + if shouldFixRunesOnItem and #self.runes > 0 then + -- Advanced item text omits the Rune fields. Once its regular lines identify the + -- socketed augments, rebuild every line from the exported normal/bonded data. + self:UpdateRunes() + end else self.sockets = { } self.itemSocketCount = 0 @@ -1635,8 +1652,44 @@ function ItemClass:UpdateRunes() end return gatheredRuneMods end - local statOrder = {} + -- Normal and Bonded stats share display ordering and stacking, but Bonded stats stay + -- unparsed until calculation confirms that the relevant Rune or Idol unlock is active. + local addModLine = function(mod, line, order, bonded) + local orderValue = order or 0 + local displayLine = bonded and "Bonded: " .. line or line + local orderKey = mod.type .. ":" .. (bonded and "Bonded:" or "") .. orderValue + if statOrder[orderKey] then + -- Combine stats + local start = 1 + statOrder[orderKey].line = statOrder[orderKey].line:gsub("(%d%.?%d*)", function(num) + local _, e, other = displayLine:find("(%d%.?%d*)", start) + start = e + 1 + return tonumber(num) + tonumber(other) + end) + if not bonded then + local modList, extra = modLib.parseMod(statOrder[orderKey].line) + statOrder[orderKey].modList = modList or { } + statOrder[orderKey].extra = extra + end + else + local modList, extra + if not bonded then + modList, extra = modLib.parseMod(line) + end + local modLine = { line = displayLine, order = orderValue, modList = modList or { }, extra = extra, rune = true, enchant = true, augmentType = mod.type } + if bonded then + modLine.bonded = true + end + for l = 1, #self.runeModLines + 1 do + if not self.runeModLines[l] or self.runeModLines[l].order > orderValue then + t_insert(self.runeModLines, l, modLine) + break + end + end + statOrder[orderKey] = modLine + end + end local baseType, specificType = self:GetSocketedAugmentTypes() local soulCoreTypes = self.socketedSoulCoreTypes for i = 1, self.itemSocketCount do @@ -1645,29 +1698,11 @@ function ItemClass:UpdateRunes() local gatheredMods = getModRunesForTypes(name, baseType, specificType, soulCoreTypes) for _, mod in ipairs(gatheredMods) do for i, modLine in ipairs(mod) do - local order = mod.statOrder[i] - local orderKey = mod.type .. ":" .. (modLine:match("^Bonded:") and "Bonded:"..order or order) - if statOrder[orderKey] then - -- Combine stats - local start = 1 - statOrder[orderKey].line = statOrder[orderKey].line:gsub("(%d%.?%d*)", function(num) - local s, e, other = mod[i]:find("(%d%.?%d*)", start) - start = e + 1 - return tonumber(num) + tonumber(other) - end) - local modList, extra = modLib.parseMod(statOrder[orderKey].line) - statOrder[orderKey].modList = modList or { } - statOrder[orderKey].extra = extra - else - local modList, extra = modLib.parseMod(modLine) - local modLine = { line = modLine, order = order, modList = modList or { }, extra = extra, rune = true, enchant = true, augmentType = mod.type } - for l = 1, #self.runeModLines + 1 do - if not self.runeModLines[l] or self.runeModLines[l].order > order then - t_insert(self.runeModLines, l, modLine) - break - end - end - statOrder[orderKey] = modLine + addModLine(mod, modLine, mod.statOrder and mod.statOrder[i], false) + end + if mod.bonded then + for i, modLine in ipairs(mod.bonded) do + addModLine(mod, modLine, mod.bonded.statOrder and mod.bonded.statOrder[i], true) end end end @@ -1691,6 +1726,55 @@ function ItemClass:ApplySocketedRuneDisplayScalars() end end +-- Return the item's calculated modifiers for a slot, including only Bonded modifiers +-- enabled by the global Rune/Idol unlock or this item's Idol-only unlock. +function ItemClass:GetActiveModListForSlotNum(slotNum, canUseBonded) + local srcList = self.modList or (self.slotModList and self.slotModList[slotNum]) or { } + local canUseBondedIdols = canUseBonded or self.socketedIdolsUseBondedModifiers + if not canUseBondedIdols then + return srcList + end + + local out + for _, modLine in ipairs(self.runeModLines or { }) do + local canUseBondedMod = modLine.bonded and (modLine.augmentType == "Rune" and canUseBonded or modLine.augmentType == "Idol" and canUseBondedIdols) + if canUseBondedMod then + if not modLine.bondedModList then + local modList, extra = modLib.parseMod(modLine.line:gsub("^Bonded:%s*", "")) + modLine.bondedModList = { } + if modList and not extra then + for _, mod in ipairs(modList) do + t_insert(modLine.bondedModList, modLib.setSource(mod, self.modSource)) + end + + -- Socketed augment effect is represented as an additional scaled copy, + -- matching the established processing for ordinary rune modifiers. + local effectModifier = self.socketedAugmentItemEffectModifier or 0 + if modLine.augmentType == "Rune" then + effectModifier = effectModifier + (self.socketedRuneEffectModifier or 0) + end + if effectModifier ~= 0 and not modLine.socketedRuneEffectAlreadyApplied then + local scaledList = new("ModList") + for _, mod in ipairs(modList) do + scaledList:ScaleAddMod(mod, effectModifier) + end + for _, mod in ipairs(scaledList) do + t_insert(modLine.bondedModList, modLib.setSource(mod, self.modSource)) + end + end + end + end + if modLine.bondedModList[1] then + out = out or copyTable(srcList, false) + for _, mod in ipairs(modLine.bondedModList) do + t_insert(out, mod) + end + end + end + end + return out or srcList +end + -- Rebuild explicit modifiers using the item's affixes function ItemClass:Craft() -- Save off any custom mods so they can be re-added at the end @@ -2143,6 +2227,10 @@ function ItemClass:BuildModList() end end local function processModLine(modLine) + if modLine.bonded then + modLine.bondedModList = nil + return + end local variantCount = self:GetModLineVariantCount(modLine) if variantCount > 0 then -- special section for variant over-ride of pre-modifier item parameters @@ -2189,6 +2277,7 @@ function ItemClass:BuildModList() for _, modLine in ipairs(self.explicitModLines) do processModLine(modLine) end + self.socketedIdolsUseBondedModifiers = calcLocal(baseList, "SocketedIdolsUseBondedModifiers", "FLAG", 0) self.socketedSoulCoreEffectModifier = calcLocal(baseList, "SocketedSoulCoreEffect", "INC", 0) / 100 self.socketedRuneEffectModifier = calcLocal(baseList, "SocketedRuneEffect", "INC", 0) / 100 self.socketedAugmentItemEffectModifier = calcLocal(baseList, "SocketedAugmentItemEffect", "INC", 0) / 100 diff --git a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua index 797acf629c..adb2e133d4 100644 --- a/src/Classes/ItemsTab.lua +++ b/src/Classes/ItemsTab.lua @@ -1949,7 +1949,17 @@ local runeModLines = { { name = "None", label = "None", lines = { "None" }, orde for name, runeMods in pairs(data.itemMods.Runes) do -- Some runes have multiple mod lines; insert each as separate entry for slotType, runeMod in pairs(runeMods) do - t_insert(runeModLines, { name = name, label = runeMod[1], lines = runeMod, req = runeMod.rank[1], order = runeMod.statOrder[1], slot = slotType, type = runeMod.type, group = #runeMod, isSocketBound = runeMod.isSocketBound }) + -- Bonded stats are stored separately for calculation, but remain part of the + -- visible rune description and are prefixed only at this presentation boundary. + local lines = { } + for _, line in ipairs(runeMod) do + t_insert(lines, line) + end + for _, line in ipairs(runeMod.bonded or { }) do + t_insert(lines, "Bonded: " .. line) + end + local order = (runeMod.statOrder and runeMod.statOrder[1]) or (runeMod.bonded and runeMod.bonded.statOrder and runeMod.bonded.statOrder[1]) or 0 + t_insert(runeModLines, { name = name, label = runeMod[1], lines = lines, req = runeMod.rank[1], order = order, slot = slotType, type = runeMod.type, group = #lines, isSocketBound = runeMod.isSocketBound }) end end table.sort(runeModLines, function(a, b) @@ -1986,11 +1996,17 @@ function ItemsTabClass:GetValidRunesForItem(item) t_insert(runes, addedRune) addedRunes[rune.name] = addedRune end + if rune.label then + addedRune.label = rune.label + end for _, line in ipairs(rune.lines) do t_insert(addedRune.lines, line) end end end + for _, rune in ipairs(runes) do + rune.label = rune.label or rune.lines[1] + end return runes end diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index 96c7f933cb..fa1962fc89 100644 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -5677,7 +5677,7 @@ c["Gain no inherent bonus from Dexterity 1% increased Armour per 2 Dexterity"]={ c["Gain no inherent bonus from Intelligence"]={{[1]={flags=0,keywordFlags=0,name="NoIntBonusToMana",type="FLAG",value=true}},nil} c["Gain no inherent bonus from Strength"]={{[1]={flags=0,keywordFlags=0,name="NoStrBonusToLife",type="FLAG",value=true}},nil} c["Gain no inherent bonuses from Attributes"]={{[1]={flags=0,keywordFlags=0,name="NoAttributeBonuses",type="FLAG",value=true}},nil} -c["Gain the benefits of Bonded modifiers on Runes and Idols"]={{[1]={flags=0,keywordFlags=0,name="Condition:CanUseBondedModifiers",type="FLAG",value=true}},nil} +c["Gain the benefits of Bonded modifiers on Runes and Idols"]={{[1]={flags=0,keywordFlags=0,name="CanUseBonded",type="FLAG",value=true}},nil} c["Gains 0.18 Charges per Second"]={{[1]={flags=0,keywordFlags=0,name="FlaskChargesGenerated",type="BASE",value=0.18}},nil} c["Gains 0.20 Charges per Second"]={{[1]={flags=0,keywordFlags=0,name="FlaskChargesGenerated",type="BASE",value=0.2}},nil} c["Gem Quality grants Socketed Skills an additional effect"]={{[1]={flags=0,keywordFlags=0,name="GemlingQuality",type="FLAG",value=true}},nil} diff --git a/src/Data/ModRunes.lua b/src/Data/ModRunes.lua index 1b16cdc08b..8210c503c8 100644 --- a/src/Data/ModRunes.lua +++ b/src/Data/ModRunes.lua @@ -38,7 +38,7 @@ return { "Gain additional Ailment Threshold equal to 15% of maximum Energy Shield", "Gain additional Stun Threshold equal to 15% of maximum Energy Shield", statOrder = { 4265, 10138 }, - tradeHashes = { [3398301358] = { "Gain additional Ailment Threshold equal to 15% of maximum Energy Shield" }, [416040624] = { "Gain additional Stun Threshold equal to 15% of maximum Energy Shield" }, }, + tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 15% of maximum Energy Shield" }, [3398301358] = { "Gain additional Ailment Threshold equal to 15% of maximum Energy Shield" }, }, isSocketBound = false, rank = { 50 }, }, @@ -47,7 +47,7 @@ return { "Gain additional Ailment Threshold equal to 15% of maximum Energy Shield", "Gain additional Stun Threshold equal to 15% of maximum Energy Shield", statOrder = { 4265, 10138 }, - tradeHashes = { [3398301358] = { "Gain additional Ailment Threshold equal to 15% of maximum Energy Shield" }, [416040624] = { "Gain additional Stun Threshold equal to 15% of maximum Energy Shield" }, }, + tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 15% of maximum Energy Shield" }, [3398301358] = { "Gain additional Ailment Threshold equal to 15% of maximum Energy Shield" }, }, isSocketBound = false, rank = { 50 }, }, @@ -58,7 +58,7 @@ return { "8% increased Skill Effect Duration", "8% increased Cooldown Recovery Rate", statOrder = { 1645, 4677 }, - tradeHashes = { [1004011302] = { "8% increased Cooldown Recovery Rate" }, [3377888098] = { "8% increased Skill Effect Duration" }, }, + tradeHashes = { [3377888098] = { "8% increased Skill Effect Duration" }, [1004011302] = { "8% increased Cooldown Recovery Rate" }, }, isSocketBound = false, rank = { 50 }, }, @@ -738,37 +738,49 @@ return { ["weapon"] = { type = "Rune", "Adds 7 to 11 Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 1077 }, + statOrder = { 832 }, tradeHashes = { [709508406] = { "Adds 7 to 11 Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "Gain 8% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 8% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "Gain 8% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 8% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "+14% to Fire Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1014, 887, 892 }, + statOrder = { 1014 }, tradeHashes = { [3372524247] = { "+14% to Fire Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -777,37 +789,49 @@ return { ["weapon"] = { type = "Rune", "Adds 6 to 10 Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 833, 1057 }, + statOrder = { 833 }, tradeHashes = { [1037193709] = { "Adds 6 to 10 Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "Gain 8% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 8% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "Gain 8% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 8% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "+14% to Cold Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1020, 887, 892 }, + statOrder = { 1020 }, tradeHashes = { [4220027924] = { "+14% to Cold Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -816,37 +840,49 @@ return { ["weapon"] = { type = "Rune", "Adds 1 to 20 Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 834, 9845 }, + statOrder = { 834 }, tradeHashes = { [3336890334] = { "Adds 1 to 20 Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "Gain 8% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 8% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "Gain 8% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 8% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "+14% to Lightning Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1023, 887, 892 }, + statOrder = { 1023 }, tradeHashes = { [1671376347] = { "+14% to Lightning Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -855,37 +891,49 @@ return { ["weapon"] = { type = "Rune", "16% increased Physical Damage", - "Bonded: 20% increased effect of Fully Broken Armour", - statOrder = { 830, 5236 }, + statOrder = { 830 }, tradeHashes = { [1805374733] = { "16% increased Physical Damage" }, }, + bonded = { + "20% increased effect of Fully Broken Armour", + statOrder = { 5236 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "25% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "25% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "25% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "25% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "16% increased Armour, Evasion and Energy Shield", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 854, 887, 892 }, + statOrder = { 854 }, tradeHashes = { [3523867985] = { "16% increased Armour, Evasion and Energy Shield" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -894,37 +942,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 4% of Physical Damage as Life", - "Bonded: 5% increased maximum Life", - statOrder = { 1039, 889 }, + statOrder = { 1039 }, tradeHashes = { [55876295] = { "Leeches 4% of Physical Damage as Life" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "+40 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+40 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "+40 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+40 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "+45 to maximum Life", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 887, 887, 892 }, + statOrder = { 887 }, tradeHashes = { [3299347043] = { "+45 to maximum Life" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -933,37 +993,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 3% of Physical Damage as Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 1045, 894 }, + statOrder = { 1045 }, tradeHashes = { [669069897] = { "Leeches 3% of Physical Damage as Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "+60 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+60 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "+60 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+60 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "+30 to maximum Mana", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 892, 887, 892 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+30 to maximum Mana" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -972,37 +1044,49 @@ return { ["weapon"] = { type = "Rune", "Gain 25 Life per enemy killed", - "Bonded: Regenerate 0.4% of maximum Life per second", - statOrder = { 1042, 1691 }, + statOrder = { 1042 }, tradeHashes = { [3695891184] = { "Gain 25 Life per enemy killed" }, }, + bonded = { + "Regenerate 0.4% of maximum Life per second", + statOrder = { 1691 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "8% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "8% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "8% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "8% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "Regenerate 0.4% of maximum Life per second", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1691, 887, 892 }, + statOrder = { 1691 }, tradeHashes = { [836936635] = { "Regenerate 0.4% of maximum Life per second" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -1011,37 +1095,49 @@ return { ["weapon"] = { type = "Rune", "Gain 20 Mana per enemy killed", - "Bonded: 12% of Skill Mana Costs Converted to Life Costs", - statOrder = { 1047, 4744 }, + statOrder = { 1047 }, tradeHashes = { [1368271171] = { "Gain 20 Mana per enemy killed" }, }, + bonded = { + "12% of Skill Mana Costs Converted to Life Costs", + statOrder = { 4744 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "25% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "25% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "25% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "25% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "15% increased Mana Regeneration Rate", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1043, 887, 892 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "15% increased Mana Regeneration Rate" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -1050,37 +1146,49 @@ return { ["weapon"] = { type = "Rune", "Causes 30% increased Stun Buildup", - "Bonded: 40% increased Damage against Immobilised Enemies", - statOrder = { 1052, 5959 }, + statOrder = { 1052 }, tradeHashes = { [791928121] = { "Causes 30% increased Stun Buildup" }, }, + bonded = { + "40% increased Damage against Immobilised Enemies", + statOrder = { 5959 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "Gain additional Stun Threshold equal to 12% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 12% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "Gain additional Stun Threshold equal to 12% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 12% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "+75 to Stun Threshold", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1061, 887, 892 }, + statOrder = { 1061 }, tradeHashes = { [915769802] = { "+75 to Stun Threshold" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -1089,37 +1197,49 @@ return { ["weapon"] = { type = "Rune", "+90 to Accuracy Rating", - "Bonded: Attacks have +1% to Critical Hit Chance", - statOrder = { 835, 4465 }, + statOrder = { 835 }, tradeHashes = { [691932474] = { "+90 to Accuracy Rating" }, }, + bonded = { + "Attacks have +1% to Critical Hit Chance", + statOrder = { 4465 }, + }, isSocketBound = false, rank = { 15 }, }, ["wand"] = { type = "Rune", "20% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "20% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "20% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "20% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 15 }, }, ["armour"] = { type = "Rune", "12% increased Life and Mana Recovery from Flasks", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 6644, 887, 892 }, + statOrder = { 6644 }, tradeHashes = { [2310741722] = { "12% increased Life and Mana Recovery from Flasks" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -1128,37 +1248,49 @@ return { ["weapon"] = { type = "Rune", "Adds 4 to 6 Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 1077 }, + statOrder = { 832 }, tradeHashes = { [709508406] = { "Adds 4 to 6 Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "Gain 6% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 6% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "Gain 6% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 6% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "+10% to Fire Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1014, 887, 892 }, + statOrder = { 1014 }, tradeHashes = { [3372524247] = { "+10% to Fire Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1167,37 +1299,49 @@ return { ["weapon"] = { type = "Rune", "Adds 3 to 5 Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 833, 1057 }, + statOrder = { 833 }, tradeHashes = { [1037193709] = { "Adds 3 to 5 Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "Gain 6% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 6% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "Gain 6% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 6% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "+10% to Cold Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1020, 887, 892 }, + statOrder = { 1020 }, tradeHashes = { [4220027924] = { "+10% to Cold Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1206,37 +1350,49 @@ return { ["weapon"] = { type = "Rune", "Adds 1 to 10 Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 834, 9845 }, + statOrder = { 834 }, tradeHashes = { [3336890334] = { "Adds 1 to 10 Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "Gain 6% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 6% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "Gain 6% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 6% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "+10% to Lightning Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1023, 887, 892 }, + statOrder = { 1023 }, tradeHashes = { [1671376347] = { "+10% to Lightning Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1245,37 +1401,49 @@ return { ["weapon"] = { type = "Rune", "14% increased Physical Damage", - "Bonded: 20% increased effect of Fully Broken Armour", - statOrder = { 830, 5236 }, + statOrder = { 830 }, tradeHashes = { [1805374733] = { "14% increased Physical Damage" }, }, + bonded = { + "20% increased effect of Fully Broken Armour", + statOrder = { 5236 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "20% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "20% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "20% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "20% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "14% increased Armour, Evasion and Energy Shield", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 854, 887, 892 }, + statOrder = { 854 }, tradeHashes = { [3523867985] = { "14% increased Armour, Evasion and Energy Shield" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1284,37 +1452,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 3% of Physical Damage as Life", - "Bonded: 5% increased maximum Life", - statOrder = { 1039, 889 }, + statOrder = { 1039 }, tradeHashes = { [55876295] = { "Leeches 3% of Physical Damage as Life" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "+30 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+30 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "+30 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+30 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "+30 to maximum Life", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 887, 887, 892 }, + statOrder = { 887 }, tradeHashes = { [3299347043] = { "+30 to maximum Life" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1323,37 +1503,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 2% of Physical Damage as Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 1045, 894 }, + statOrder = { 1045 }, tradeHashes = { [669069897] = { "Leeches 2% of Physical Damage as Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "+45 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+45 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "+45 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+45 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "+20 to maximum Mana", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 892, 887, 892 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+20 to maximum Mana" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1362,37 +1554,49 @@ return { ["weapon"] = { type = "Rune", "Gain 15 Life per enemy killed", - "Bonded: Regenerate 0.4% of maximum Life per second", - statOrder = { 1042, 1691 }, + statOrder = { 1042 }, tradeHashes = { [3695891184] = { "Gain 15 Life per enemy killed" }, }, + bonded = { + "Regenerate 0.4% of maximum Life per second", + statOrder = { 1691 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "6% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "6% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "6% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "6% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "Regenerate 0.35% of maximum Life per second", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1691, 887, 892 }, + statOrder = { 1691 }, tradeHashes = { [836936635] = { "Regenerate 0.35% of maximum Life per second" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1401,37 +1605,49 @@ return { ["weapon"] = { type = "Rune", "Gain 10 Mana per enemy killed", - "Bonded: 12% of Skill Mana Costs Converted to Life Costs", - statOrder = { 1047, 4744 }, + statOrder = { 1047 }, tradeHashes = { [1368271171] = { "Gain 10 Mana per enemy killed" }, }, + bonded = { + "12% of Skill Mana Costs Converted to Life Costs", + statOrder = { 4744 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "20% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "20% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "20% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "20% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "12% increased Mana Regeneration Rate", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1043, 887, 892 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "12% increased Mana Regeneration Rate" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1440,37 +1656,49 @@ return { ["weapon"] = { type = "Rune", "Causes 20% increased Stun Buildup", - "Bonded: 40% increased Damage against Immobilised Enemies", - statOrder = { 1052, 5959 }, + statOrder = { 1052 }, tradeHashes = { [791928121] = { "Causes 20% increased Stun Buildup" }, }, + bonded = { + "40% increased Damage against Immobilised Enemies", + statOrder = { 5959 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "Gain additional Stun Threshold equal to 10% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 10% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "Gain additional Stun Threshold equal to 10% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 10% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "+50 to Stun Threshold", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1061, 887, 892 }, + statOrder = { 1061 }, tradeHashes = { [915769802] = { "+50 to Stun Threshold" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1479,37 +1707,49 @@ return { ["weapon"] = { type = "Rune", "+60 to Accuracy Rating", - "Bonded: Attacks have +1% to Critical Hit Chance", - statOrder = { 835, 4465 }, + statOrder = { 835 }, tradeHashes = { [691932474] = { "+60 to Accuracy Rating" }, }, + bonded = { + "Attacks have +1% to Critical Hit Chance", + statOrder = { 4465 }, + }, isSocketBound = false, rank = { 0 }, }, ["wand"] = { type = "Rune", "16% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "16% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 0 }, }, ["staff"] = { type = "Rune", "16% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "16% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "8% increased Life and Mana Recovery from Flasks", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 6644, 887, 892 }, + statOrder = { 6644 }, tradeHashes = { [2310741722] = { "8% increased Life and Mana Recovery from Flasks" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -1518,37 +1758,49 @@ return { ["weapon"] = { type = "Rune", "Adds 13 to 16 Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 1077 }, + statOrder = { 832 }, tradeHashes = { [709508406] = { "Adds 13 to 16 Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "Gain 10% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 10% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "Gain 10% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 10% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "+18% to Fire Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1014, 887, 892 }, + statOrder = { 1014 }, tradeHashes = { [3372524247] = { "+18% to Fire Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1557,37 +1809,49 @@ return { ["weapon"] = { type = "Rune", "Adds 9 to 15 Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 833, 1057 }, + statOrder = { 833 }, tradeHashes = { [1037193709] = { "Adds 9 to 15 Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "Gain 10% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 10% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "Gain 10% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 10% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "+18% to Cold Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1020, 887, 892 }, + statOrder = { 1020 }, tradeHashes = { [4220027924] = { "+18% to Cold Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1596,37 +1860,49 @@ return { ["weapon"] = { type = "Rune", "Adds 1 to 30 Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 834, 9845 }, + statOrder = { 834 }, tradeHashes = { [3336890334] = { "Adds 1 to 30 Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "Gain 10% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 10% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "Gain 10% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 10% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "+18% to Lightning Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1023, 887, 892 }, + statOrder = { 1023 }, tradeHashes = { [1671376347] = { "+18% to Lightning Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1635,37 +1911,49 @@ return { ["weapon"] = { type = "Rune", "18% increased Physical Damage", - "Bonded: 20% increased effect of Fully Broken Armour", - statOrder = { 830, 5236 }, + statOrder = { 830 }, tradeHashes = { [1805374733] = { "18% increased Physical Damage" }, }, + bonded = { + "20% increased effect of Fully Broken Armour", + statOrder = { 5236 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "30% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "30% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "30% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "30% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "18% increased Armour, Evasion and Energy Shield", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 854, 887, 892 }, + statOrder = { 854 }, tradeHashes = { [3523867985] = { "18% increased Armour, Evasion and Energy Shield" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1674,37 +1962,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 5% of Physical Damage as Life", - "Bonded: 5% increased maximum Life", - statOrder = { 1039, 889 }, + statOrder = { 1039 }, tradeHashes = { [55876295] = { "Leeches 5% of Physical Damage as Life" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "+50 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+50 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "+50 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+50 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "+60 to maximum Life", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 887, 887, 892 }, + statOrder = { 887 }, tradeHashes = { [3299347043] = { "+60 to maximum Life" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1713,37 +2013,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 4% of Physical Damage as Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 1045, 894 }, + statOrder = { 1045 }, tradeHashes = { [669069897] = { "Leeches 4% of Physical Damage as Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "+75 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+75 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "+75 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+75 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "+40 to maximum Mana", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 892, 887, 892 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+40 to maximum Mana" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1752,37 +2064,49 @@ return { ["weapon"] = { type = "Rune", "Gain 35 Life per enemy killed", - "Bonded: Regenerate 0.4% of maximum Life per second", - statOrder = { 1042, 1691 }, + statOrder = { 1042 }, tradeHashes = { [3695891184] = { "Gain 35 Life per enemy killed" }, }, + bonded = { + "Regenerate 0.4% of maximum Life per second", + statOrder = { 1691 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "10% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "10% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "10% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "10% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "Regenerate 0.45% of maximum Life per second", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1691, 887, 892 }, + statOrder = { 1691 }, tradeHashes = { [836936635] = { "Regenerate 0.45% of maximum Life per second" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1791,37 +2115,49 @@ return { ["weapon"] = { type = "Rune", "Gain 30 Mana per enemy killed", - "Bonded: 12% of Skill Mana Costs Converted to Life Costs", - statOrder = { 1047, 4744 }, + statOrder = { 1047 }, tradeHashes = { [1368271171] = { "Gain 30 Mana per enemy killed" }, }, + bonded = { + "12% of Skill Mana Costs Converted to Life Costs", + statOrder = { 4744 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "30% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "30% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "30% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "30% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "18% increased Mana Regeneration Rate", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1043, 887, 892 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "18% increased Mana Regeneration Rate" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1830,37 +2166,49 @@ return { ["weapon"] = { type = "Rune", "Causes 40% increased Stun Buildup", - "Bonded: 40% increased Damage against Immobilised Enemies", - statOrder = { 1052, 5959 }, + statOrder = { 1052 }, tradeHashes = { [791928121] = { "Causes 40% increased Stun Buildup" }, }, + bonded = { + "40% increased Damage against Immobilised Enemies", + statOrder = { 5959 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "Gain additional Stun Threshold equal to 14% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 14% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "Gain additional Stun Threshold equal to 14% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 14% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "+100 to Stun Threshold", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1061, 887, 892 }, + statOrder = { 1061 }, tradeHashes = { [915769802] = { "+100 to Stun Threshold" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1869,37 +2217,49 @@ return { ["weapon"] = { type = "Rune", "+120 to Accuracy Rating", - "Bonded: Attacks have +1% to Critical Hit Chance", - statOrder = { 835, 4465 }, + statOrder = { 835 }, tradeHashes = { [691932474] = { "+120 to Accuracy Rating" }, }, + bonded = { + "Attacks have +1% to Critical Hit Chance", + statOrder = { 4465 }, + }, isSocketBound = false, rank = { 30 }, }, ["wand"] = { type = "Rune", "24% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "24% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 30 }, }, ["staff"] = { type = "Rune", "24% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "24% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 30 }, }, ["armour"] = { type = "Rune", "16% increased Life and Mana Recovery from Flasks", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 6644, 887, 892 }, + statOrder = { 6644 }, tradeHashes = { [2310741722] = { "16% increased Life and Mana Recovery from Flasks" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -1908,37 +2268,49 @@ return { ["weapon"] = { type = "Rune", "Adds 17 to 20 Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 1077 }, + statOrder = { 832 }, tradeHashes = { [709508406] = { "Adds 17 to 20 Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "Gain 12% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 12% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "Gain 12% of Damage as Extra Fire Damage", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 863, 1077 }, + statOrder = { 863 }, tradeHashes = { [3015669065] = { "Gain 12% of Damage as Extra Fire Damage" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "+22% to Fire Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1014, 887, 892 }, + statOrder = { 1014 }, tradeHashes = { [3372524247] = { "+22% to Fire Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -1947,37 +2319,49 @@ return { ["weapon"] = { type = "Rune", "Adds 16 to 20 Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 833, 1057 }, + statOrder = { 833 }, tradeHashes = { [1037193709] = { "Adds 16 to 20 Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "Gain 12% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 12% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "Gain 12% of Damage as Extra Cold Damage", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 866, 1057 }, + statOrder = { 866 }, tradeHashes = { [2505884597] = { "Gain 12% of Damage as Extra Cold Damage" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "+22% to Cold Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1020, 887, 892 }, + statOrder = { 1020 }, tradeHashes = { [4220027924] = { "+22% to Cold Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -1986,37 +2370,49 @@ return { ["weapon"] = { type = "Rune", "Adds 1 to 40 Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 834, 9845 }, + statOrder = { 834 }, tradeHashes = { [3336890334] = { "Adds 1 to 40 Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "Gain 12% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 12% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "Gain 12% of Damage as Extra Lightning Damage", - "Bonded: 30% increased Magnitude of Shock you inflict", - statOrder = { 869, 9845 }, + statOrder = { 869 }, tradeHashes = { [3278136794] = { "Gain 12% of Damage as Extra Lightning Damage" }, }, + bonded = { + "30% increased Magnitude of Shock you inflict", + statOrder = { 9845 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "+22% to Lightning Resistance", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1023, 887, 892 }, + statOrder = { 1023 }, tradeHashes = { [1671376347] = { "+22% to Lightning Resistance" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2025,37 +2421,49 @@ return { ["weapon"] = { type = "Rune", "20% increased Physical Damage", - "Bonded: 20% increased effect of Fully Broken Armour", - statOrder = { 830, 5236 }, + statOrder = { 830 }, tradeHashes = { [1805374733] = { "20% increased Physical Damage" }, }, + bonded = { + "20% increased effect of Fully Broken Armour", + statOrder = { 5236 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "35% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "35% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "35% increased Spell Damage", - "Bonded: Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", - statOrder = { 871, 4411 }, + statOrder = { 871 }, tradeHashes = { [2974417149] = { "35% increased Spell Damage" }, }, + bonded = { + "Break Armour on Critical Hit with Spells equal to 12% of Physical Damage dealt", + statOrder = { 4411 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "20% increased Armour, Evasion and Energy Shield", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 854, 887, 892 }, + statOrder = { 854 }, tradeHashes = { [3523867985] = { "20% increased Armour, Evasion and Energy Shield" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2064,37 +2472,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 6% of Physical Damage as Life", - "Bonded: 5% increased maximum Life", - statOrder = { 1039, 889 }, + statOrder = { 1039 }, tradeHashes = { [55876295] = { "Leeches 6% of Physical Damage as Life" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "+60 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+60 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "+60 to maximum Energy Shield", - "Bonded: 5% increased maximum Life", - statOrder = { 885, 889 }, + statOrder = { 885 }, tradeHashes = { [3489782002] = { "+60 to maximum Energy Shield" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "+75 to maximum Life", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 887, 887, 892 }, + statOrder = { 887 }, tradeHashes = { [3299347043] = { "+75 to maximum Life" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2103,37 +2523,49 @@ return { ["weapon"] = { type = "Rune", "Leeches 5% of Physical Damage as Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 1045, 894 }, + statOrder = { 1045 }, tradeHashes = { [669069897] = { "Leeches 5% of Physical Damage as Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "+90 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+90 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "+90 to maximum Mana", - "Bonded: 5% increased maximum Mana", - statOrder = { 892, 894 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+90 to maximum Mana" }, }, + bonded = { + "5% increased maximum Mana", + statOrder = { 894 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "+50 to maximum Mana", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 892, 887, 892 }, + statOrder = { 892 }, tradeHashes = { [1050105434] = { "+50 to maximum Mana" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2142,37 +2574,49 @@ return { ["weapon"] = { type = "Rune", "Gain 45 Life per enemy killed", - "Bonded: Regenerate 0.4% of maximum Life per second", - statOrder = { 1042, 1691 }, + statOrder = { 1042 }, tradeHashes = { [3695891184] = { "Gain 45 Life per enemy killed" }, }, + bonded = { + "Regenerate 0.4% of maximum Life per second", + statOrder = { 1691 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "12% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "12% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "12% increased Energy Shield Recharge Rate", - "Bonded: 8% of Damage taken Recouped as Life", - statOrder = { 1032, 1037 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "12% increased Energy Shield Recharge Rate" }, }, + bonded = { + "8% of Damage taken Recouped as Life", + statOrder = { 1037 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "Regenerate 0.5% of maximum Life per second", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1691, 887, 892 }, + statOrder = { 1691 }, tradeHashes = { [836936635] = { "Regenerate 0.5% of maximum Life per second" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2181,37 +2625,49 @@ return { ["weapon"] = { type = "Rune", "Gain 40 Mana per enemy killed", - "Bonded: 12% of Skill Mana Costs Converted to Life Costs", - statOrder = { 1047, 4744 }, + statOrder = { 1047 }, tradeHashes = { [1368271171] = { "Gain 40 Mana per enemy killed" }, }, + bonded = { + "12% of Skill Mana Costs Converted to Life Costs", + statOrder = { 4744 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "35% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "35% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "35% increased Mana Regeneration Rate", - "Bonded: 16% increased Mana Cost Efficiency", - statOrder = { 1043, 4718 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "35% increased Mana Regeneration Rate" }, }, + bonded = { + "16% increased Mana Cost Efficiency", + statOrder = { 4718 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "21% increased Mana Regeneration Rate", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1043, 887, 892 }, + statOrder = { 1043 }, tradeHashes = { [789117908] = { "21% increased Mana Regeneration Rate" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2220,37 +2676,49 @@ return { ["weapon"] = { type = "Rune", "Causes 50% increased Stun Buildup", - "Bonded: 40% increased Damage against Immobilised Enemies", - statOrder = { 1052, 5959 }, + statOrder = { 1052 }, tradeHashes = { [791928121] = { "Causes 50% increased Stun Buildup" }, }, + bonded = { + "40% increased Damage against Immobilised Enemies", + statOrder = { 5959 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "Gain additional Stun Threshold equal to 16% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 16% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "Gain additional Stun Threshold equal to 16% of maximum Energy Shield", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 10138, 7193 }, + statOrder = { 10138 }, tradeHashes = { [416040624] = { "Gain additional Stun Threshold equal to 16% of maximum Energy Shield" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "+125 to Stun Threshold", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 1061, 887, 892 }, + statOrder = { 1061 }, tradeHashes = { [915769802] = { "+125 to Stun Threshold" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2259,37 +2727,49 @@ return { ["weapon"] = { type = "Rune", "+150 to Accuracy Rating", - "Bonded: Attacks have +1% to Critical Hit Chance", - statOrder = { 835, 4465 }, + statOrder = { 835 }, tradeHashes = { [691932474] = { "+150 to Accuracy Rating" }, }, + bonded = { + "Attacks have +1% to Critical Hit Chance", + statOrder = { 4465 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "28% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "28% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "28% increased Critical Hit Chance for Spells", - "Bonded: 25% increased Critical Damage Bonus", - statOrder = { 978, 980 }, + statOrder = { 978 }, tradeHashes = { [737908626] = { "28% increased Critical Hit Chance for Spells" }, }, + bonded = { + "25% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 50 }, }, ["armour"] = { type = "Rune", "20% increased Life and Mana Recovery from Flasks", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 6644, 887, 892 }, + statOrder = { 6644 }, tradeHashes = { [2310741722] = { "20% increased Life and Mana Recovery from Flasks" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2300,6 +2780,11 @@ return { "+6 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+6 to Strength" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 6 to 10 Fire damage to Attacks", + statOrder = { 858, 859 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2308,6 +2793,11 @@ return { "+6 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+6 to Strength" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2319,6 +2809,26 @@ return { isSocketBound = false, rank = { 0 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 0 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 0 }, + }, }, ["Robust Rune"] = { ["weapon"] = { @@ -2326,6 +2836,11 @@ return { "+9 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+9 to Strength" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 6 to 10 Fire damage to Attacks", + statOrder = { 858, 859 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -2334,6 +2849,11 @@ return { "+9 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+9 to Strength" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -2345,6 +2865,26 @@ return { isSocketBound = false, rank = { 15 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 15 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 15 }, + }, }, ["Greater Robust Rune"] = { ["weapon"] = { @@ -2352,6 +2892,11 @@ return { "+12 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+12 to Strength" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 6 to 10 Fire damage to Attacks", + statOrder = { 858, 859 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -2360,6 +2905,11 @@ return { "+12 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+12 to Strength" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -2371,6 +2921,26 @@ return { isSocketBound = false, rank = { 30 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 30 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 30 }, + }, }, ["Perfect Robust Rune"] = { ["weapon"] = { @@ -2378,6 +2948,11 @@ return { "+15 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+15 to Strength" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 6 to 10 Fire damage to Attacks", + statOrder = { 858, 859 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2386,6 +2961,11 @@ return { "+15 to Strength", statOrder = { 992 }, tradeHashes = { [4080418644] = { "+15 to Strength" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2397,6 +2977,26 @@ return { isSocketBound = false, rank = { 50 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 50 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+100 to Armour", + statOrder = { 881 }, + }, + isSocketBound = false, + rank = { 50 }, + }, }, ["Lesser Adept Rune"] = { ["weapon"] = { @@ -2404,6 +3004,11 @@ return { "+6 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+6 to Dexterity" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 1 to 16 Lightning damage to Attacks", + statOrder = { 858, 861 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2412,6 +3017,11 @@ return { "+6 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+6 to Dexterity" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2423,6 +3033,26 @@ return { isSocketBound = false, rank = { 0 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 0 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 0 }, + }, }, ["Adept Rune"] = { ["weapon"] = { @@ -2430,6 +3060,11 @@ return { "+9 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+9 to Dexterity" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 1 to 16 Lightning damage to Attacks", + statOrder = { 858, 861 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -2438,6 +3073,11 @@ return { "+9 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+9 to Dexterity" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -2449,6 +3089,26 @@ return { isSocketBound = false, rank = { 15 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 15 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 15 }, + }, }, ["Greater Adept Rune"] = { ["weapon"] = { @@ -2456,6 +3116,11 @@ return { "+12 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+12 to Dexterity" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 1 to 16 Lightning damage to Attacks", + statOrder = { 858, 861 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -2464,6 +3129,11 @@ return { "+12 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+12 to Dexterity" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -2475,6 +3145,26 @@ return { isSocketBound = false, rank = { 30 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 30 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 30 }, + }, }, ["Perfect Adept Rune"] = { ["weapon"] = { @@ -2482,6 +3172,11 @@ return { "+15 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+15 to Dexterity" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 1 to 16 Lightning damage to Attacks", + statOrder = { 858, 861 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2490,6 +3185,11 @@ return { "+15 to Dexterity", statOrder = { 993 }, tradeHashes = { [3261801346] = { "+15 to Dexterity" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2501,6 +3201,26 @@ return { isSocketBound = false, rank = { 50 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 50 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+80 to Evasion Rating", + statOrder = { 883 }, + }, + isSocketBound = false, + rank = { 50 }, + }, }, ["Lesser Resolve Rune"] = { ["weapon"] = { @@ -2508,6 +3228,11 @@ return { "+6 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+6 to Intelligence" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 5 to 8 Cold damage to Attacks", + statOrder = { 858, 860 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2516,6 +3241,11 @@ return { "+6 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+6 to Intelligence" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2527,6 +3257,26 @@ return { isSocketBound = false, rank = { 0 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 0 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 0 }, + }, }, ["Resolve Rune"] = { ["weapon"] = { @@ -2534,6 +3284,11 @@ return { "+9 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+9 to Intelligence" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 5 to 8 Cold damage to Attacks", + statOrder = { 858, 860 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -2542,6 +3297,11 @@ return { "+9 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+9 to Intelligence" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -2553,6 +3313,26 @@ return { isSocketBound = false, rank = { 15 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 15 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 15 }, + }, }, ["Greater Resolve Rune"] = { ["weapon"] = { @@ -2560,6 +3340,11 @@ return { "+12 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+12 to Intelligence" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 5 to 8 Cold damage to Attacks", + statOrder = { 858, 860 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -2568,6 +3353,11 @@ return { "+12 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+12 to Intelligence" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -2579,6 +3369,26 @@ return { isSocketBound = false, rank = { 30 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 30 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 30 }, + }, }, ["Perfect Resolve Rune"] = { ["weapon"] = { @@ -2586,6 +3396,11 @@ return { "+15 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+15 to Intelligence" }, }, + bonded = { + "Adds 6 to 10 Physical Damage to Attacks", + "Adds 5 to 8 Cold damage to Attacks", + statOrder = { 858, 860 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2594,6 +3409,11 @@ return { "+15 to Intelligence", statOrder = { 994 }, tradeHashes = { [328541901] = { "+15 to Intelligence" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2605,6 +3425,26 @@ return { isSocketBound = false, rank = { 50 }, }, + ["wand"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 50 }, + }, + ["staff"] = { + type = "Rune", + tradeHashes = { }, + bonded = { + "+50 to maximum Energy Shield", + statOrder = { 885 }, + }, + isSocketBound = false, + rank = { 50 }, + }, }, ["Lesser Tempered Rune"] = { ["weapon"] = { @@ -2664,18 +3504,24 @@ return { ["weapon"] = { type = "Rune", "Minions gain 10% of their Physical Damage as Extra Lightning Damage", - "Bonded: Minions deal 20% increased Damage", - statOrder = { 9074, 1720 }, + statOrder = { 9074 }, tradeHashes = { [1433756169] = { "Minions gain 10% of their Physical Damage as Extra Lightning Damage" }, }, + bonded = { + "Minions deal 20% increased Damage", + statOrder = { 1720 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "Minions take 10% of Physical Damage as Lightning Damage", - "Bonded: Minions have +10% to all Elemental Resistances", - statOrder = { 9075, 2667 }, + statOrder = { 9075 }, tradeHashes = { [889552744] = { "Minions take 10% of Physical Damage as Lightning Damage" }, }, + bonded = { + "Minions have +10% to all Elemental Resistances", + statOrder = { 2667 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2684,18 +3530,24 @@ return { ["weapon"] = { type = "Rune", "Meta Skills gain 10% increased Energy", - "Bonded: Invocated Spells have 25% chance to consume half as much Energy", - statOrder = { 6410, 7386 }, + statOrder = { 6410 }, tradeHashes = { [4236566306] = { "Meta Skills gain 10% increased Energy" }, }, + bonded = { + "Invocated Spells have 25% chance to consume half as much Energy", + statOrder = { 7386 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "1 to 100 Lightning Thorns damage", - "Bonded: 15% increased Thorns damage", - statOrder = { 10260, 10254 }, + statOrder = { 10260 }, tradeHashes = { [757050353] = { "1 to 100 Lightning Thorns damage" }, }, + bonded = { + "15% increased Thorns damage", + statOrder = { 10254 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2704,18 +3556,24 @@ return { ["weapon"] = { type = "Rune", "8% increased Skill Speed", - "Bonded: 15% increased Reservation Efficiency of Herald Skills", - statOrder = { 837, 9765 }, + statOrder = { 837 }, tradeHashes = { [970213192] = { "8% increased Skill Speed" }, }, + bonded = { + "15% increased Reservation Efficiency of Herald Skills", + statOrder = { 9765 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "Debuffs on you expire 8% faster", - "Bonded: 15% increased Elemental Ailment Threshold", - statOrder = { 6099, 4266 }, + statOrder = { 6099 }, tradeHashes = { [1238227257] = { "Debuffs on you expire 8% faster" }, }, + bonded = { + "15% increased Elemental Ailment Threshold", + statOrder = { 4266 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2724,18 +3582,24 @@ return { ["weapon"] = { type = "Rune", "Attacks with this Weapon have 10% chance to inflict Exposure", - "Bonded: 20% increased Exposure Effect", - statOrder = { 7736, 6533 }, + statOrder = { 7736 }, tradeHashes = { [3678845069] = { "Attacks with this Weapon have 10% chance to inflict Exposure" }, }, + bonded = { + "20% increased Exposure Effect", + statOrder = { 6533 }, + }, isSocketBound = false, rank = { 0 }, }, ["armour"] = { type = "Rune", "10% reduced effect of Shock on you", - "Bonded: 10% reduced Shock duration on you", - statOrder = { 9859, 1066 }, + statOrder = { 9859 }, tradeHashes = { [3801067695] = { "10% reduced effect of Shock on you" }, }, + bonded = { + "10% reduced Shock duration on you", + statOrder = { 1066 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -2744,18 +3608,24 @@ return { ["wand"] = { type = "Rune", "+1 to Level of all Spell Skills", - "Bonded: Archon recovery period expires 30% faster", - statOrder = { 950, 4343 }, + statOrder = { 950 }, tradeHashes = { [124131830] = { "+1 to Level of all Spell Skills" }, }, + bonded = { + "Archon recovery period expires 30% faster", + statOrder = { 4343 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "+1 to Level of all Spell Skills", - "Bonded: Archon recovery period expires 30% faster", - statOrder = { 950, 4343 }, + statOrder = { 950 }, tradeHashes = { [124131830] = { "+1 to Level of all Spell Skills" }, }, + bonded = { + "Archon recovery period expires 30% faster", + statOrder = { 4343 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2764,29 +3634,38 @@ return { ["weapon"] = { type = "Rune", "Gain 5% of Damage as Extra Damage of all Elements", - "Bonded: 8% chance to gain an additional random Charge when you gain a Charge", - statOrder = { 9264, 5522 }, + statOrder = { 9264 }, tradeHashes = { [731403740] = { "Gain 5% of Damage as Extra Damage of all Elements" }, }, + bonded = { + "8% chance to gain an additional random Charge when you gain a Charge", + statOrder = { 5522 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "Gain 5% of Damage as Extra Damage of all Elements", - "Bonded: 12% chance when collecting an Elemental Infusion to gain an", - "Bonded: additional Elemental Infusion of the same type", - statOrder = { 9264, 4193, 4193.1 }, + statOrder = { 9264 }, tradeHashes = { [731403740] = { "Gain 5% of Damage as Extra Damage of all Elements" }, }, + bonded = { + "12% chance when collecting an Elemental Infusion to gain an", + "additional Elemental Infusion of the same type", + statOrder = { 4193, 4193.1 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "Gain 5% of Damage as Extra Damage of all Elements", - "Bonded: 12% chance when collecting an Elemental Infusion to gain an", - "Bonded: additional Elemental Infusion of the same type", - statOrder = { 9264, 4193, 4193.1 }, + statOrder = { 9264 }, tradeHashes = { [731403740] = { "Gain 5% of Damage as Extra Damage of all Elements" }, }, + bonded = { + "12% chance when collecting an Elemental Infusion to gain an", + "additional Elemental Infusion of the same type", + statOrder = { 4193, 4193.1 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2795,27 +3674,36 @@ return { ["weapon"] = { type = "Rune", "Gain 13% of Damage as Extra Chaos Damage", - "Bonded: Gain 8% of Damage as Extra Physical Damage", - statOrder = { 1672, 1671 }, + statOrder = { 1672 }, tradeHashes = { [3398787959] = { "Gain 13% of Damage as Extra Chaos Damage" }, }, + bonded = { + "Gain 8% of Damage as Extra Physical Damage", + statOrder = { 1671 }, + }, isSocketBound = false, rank = { 50 }, }, ["wand"] = { type = "Rune", "Gain 13% of Damage as Extra Chaos Damage", - "Bonded: Gain 8% of Damage as Extra Physical Damage", - statOrder = { 1672, 1671 }, + statOrder = { 1672 }, tradeHashes = { [3398787959] = { "Gain 13% of Damage as Extra Chaos Damage" }, }, + bonded = { + "Gain 8% of Damage as Extra Physical Damage", + statOrder = { 1671 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "Gain 13% of Damage as Extra Chaos Damage", - "Bonded: Gain 8% of Damage as Extra Physical Damage", - statOrder = { 1672, 1671 }, + statOrder = { 1672 }, tradeHashes = { [3398787959] = { "Gain 13% of Damage as Extra Chaos Damage" }, }, + bonded = { + "Gain 8% of Damage as Extra Physical Damage", + statOrder = { 1671 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2824,9 +3712,12 @@ return { ["boots"] = { type = "Rune", "8% increased Deflection Rating while moving", - "Bonded: Prevent +3% of Damage from Deflected Hits", - statOrder = { 6120, 4679 }, + statOrder = { 6120 }, tradeHashes = { [1382805233] = { "8% increased Deflection Rating while moving" }, }, + bonded = { + "Prevent +3% of Damage from Deflected Hits", + statOrder = { 4679 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2835,9 +3726,12 @@ return { ["boots"] = { type = "Rune", "5% increased Movement Speed", - "Bonded: 10% increased Cooldown Recovery Rate", - statOrder = { 836, 4677 }, + statOrder = { 836 }, tradeHashes = { [2250533757] = { "5% increased Movement Speed" }, }, + bonded = { + "10% increased Cooldown Recovery Rate", + statOrder = { 4677 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2846,9 +3740,12 @@ return { ["body armour"] = { type = "Rune", "50% reduced effect of Curses on you", - "Bonded: 8% increased Curse Magnitudes", - statOrder = { 1911, 2376 }, + statOrder = { 1911 }, tradeHashes = { [3407849389] = { "50% reduced effect of Curses on you" }, }, + bonded = { + "8% increased Curse Magnitudes", + statOrder = { 2376 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2857,9 +3754,12 @@ return { ["helmet"] = { type = "Rune", "2% increased Experience gain", - "Bonded: +10% to all Elemental Resistances", - statOrder = { 1471, 1013 }, + statOrder = { 1471 }, tradeHashes = { [3666934677] = { "2% increased Experience gain" }, }, + bonded = { + "+10% to all Elemental Resistances", + statOrder = { 1013 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2868,9 +3768,12 @@ return { ["helmet"] = { type = "Rune", "25% increased Exposure Effect", - "Bonded: 15% increased Magnitude of Non-Damaging Ailments you inflict", - statOrder = { 6533, 9224 }, + statOrder = { 6533 }, tradeHashes = { [2074866941] = { "25% increased Exposure Effect" }, }, + bonded = { + "15% increased Magnitude of Non-Damaging Ailments you inflict", + statOrder = { 9224 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2879,9 +3782,12 @@ return { ["weapon"] = { type = "Rune", "50% increased Attack Damage against Rare or Unique Enemies", - "Bonded: +1 to Level of all Attack Skills", - statOrder = { 4514, 967 }, + statOrder = { 4514 }, tradeHashes = { [2077615515] = { "50% increased Attack Damage against Rare or Unique Enemies" }, }, + bonded = { + "+1 to Level of all Attack Skills", + statOrder = { 967 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2890,10 +3796,13 @@ return { ["body armour"] = { type = "Rune", "30% increased Energy Shield Recharge Rate", - "Bonded: Gain additional Ailment Threshold equal to 50% of maximum Energy Shield", - "Bonded: Gain additional Stun Threshold equal to 50% of maximum Energy Shield", - statOrder = { 1032, 4265, 10138 }, + statOrder = { 1032 }, tradeHashes = { [2339757871] = { "30% increased Energy Shield Recharge Rate" }, }, + bonded = { + "Gain additional Ailment Threshold equal to 50% of maximum Energy Shield", + "Gain additional Stun Threshold equal to 50% of maximum Energy Shield", + statOrder = { 4265, 10138 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2902,9 +3811,12 @@ return { ["gloves"] = { type = "Rune", "20% increased Magnitude of Damaging Ailments you inflict", - "Bonded: 15% increased Duration of Damaging Ailments on Enemies", - statOrder = { 6067, 6065 }, + statOrder = { 6067 }, tradeHashes = { [1381474422] = { "20% increased Magnitude of Damaging Ailments you inflict" }, }, + bonded = { + "15% increased Duration of Damaging Ailments on Enemies", + statOrder = { 6065 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2913,9 +3825,12 @@ return { ["gloves"] = { type = "Rune", "30% increased Magnitude of Non-Damaging Ailments you inflict", - "Bonded: 15% increased Duration of Elemental Ailments on Enemies", - statOrder = { 9224, 1617 }, + statOrder = { 9224 }, tradeHashes = { [782230869] = { "30% increased Magnitude of Non-Damaging Ailments you inflict" }, }, + bonded = { + "15% increased Duration of Elemental Ailments on Enemies", + statOrder = { 1617 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2924,9 +3839,12 @@ return { ["gloves"] = { type = "Rune", "8% increased Cast Speed", - "Bonded: 20% increased Mana Cost Efficiency while on Low Mana", - statOrder = { 987, 4723 }, + statOrder = { 987 }, tradeHashes = { [2891184298] = { "8% increased Cast Speed" }, }, + bonded = { + "20% increased Mana Cost Efficiency while on Low Mana", + statOrder = { 4723 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2935,9 +3853,12 @@ return { ["bow"] = { type = "Rune", "Bow Attacks fire an additional Arrow", - "Bonded: 20% increased Projectile Speed", - statOrder = { 990, 897 }, + statOrder = { 990 }, tradeHashes = { [3885405204] = { "Bow Attacks fire an additional Arrow" }, }, + bonded = { + "20% increased Projectile Speed", + statOrder = { 897 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2946,18 +3867,24 @@ return { ["wand"] = { type = "Rune", "25% chance for Spell Skills to fire 2 additional Projectiles", - "Bonded: Every Rage also grants 1% increased Spell Damage", - statOrder = { 10034, 10008 }, + statOrder = { 10034 }, tradeHashes = { [2910761524] = { "25% chance for Spell Skills to fire 2 additional Projectiles" }, }, + bonded = { + "Every Rage also grants 1% increased Spell Damage", + statOrder = { 10008 }, + }, isSocketBound = false, rank = { 50 }, }, ["staff"] = { type = "Rune", "25% chance for Spell Skills to fire 2 additional Projectiles", - "Bonded: Every Rage also grants 1% increased Spell Damage", - statOrder = { 10034, 10008 }, + statOrder = { 10034 }, tradeHashes = { [2910761524] = { "25% chance for Spell Skills to fire 2 additional Projectiles" }, }, + bonded = { + "Every Rage also grants 1% increased Spell Damage", + statOrder = { 10008 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2966,9 +3893,12 @@ return { ["gloves"] = { type = "Rune", "20% increased Withered Magnitude", - "Bonded: +7% to Chaos Resistance", - statOrder = { 10556, 1024 }, + statOrder = { 10556 }, tradeHashes = { [3973629633] = { "20% increased Withered Magnitude" }, }, + bonded = { + "+7% to Chaos Resistance", + statOrder = { 1024 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2977,9 +3907,12 @@ return { ["weapon"] = { type = "Rune", "Adds 23 to 34 Fire Damage to Attacks against Ignited Enemies", - "Bonded: +2% to Maximum Fire Resistance", - statOrder = { 1212, 1009 }, + statOrder = { 1212 }, tradeHashes = { [627339348] = { "Adds 23 to 34 Fire Damage to Attacks against Ignited Enemies" }, }, + bonded = { + "+2% to Maximum Fire Resistance", + statOrder = { 1009 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2988,9 +3921,12 @@ return { ["weapon"] = { type = "Rune", "Adds 19 to 28 Cold Damage against Chilled Enemies", - "Bonded: +2% to Maximum Cold Resistance", - statOrder = { 8962, 1010 }, + statOrder = { 8962 }, tradeHashes = { [3734640451] = { "Adds 19 to 28 Cold Damage against Chilled Enemies" }, }, + bonded = { + "+2% to Maximum Cold Resistance", + statOrder = { 1010 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -2999,9 +3935,12 @@ return { ["weapon"] = { type = "Rune", "Adds 1 to 60 Lightning Damage against Shocked Enemies", - "Bonded: +2% to Maximum Lightning Resistance", - statOrder = { 6910, 1011 }, + statOrder = { 6910 }, tradeHashes = { [90012347] = { "Adds 1 to 60 Lightning Damage against Shocked Enemies" }, }, + bonded = { + "+2% to Maximum Lightning Resistance", + statOrder = { 1011 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -3010,9 +3949,12 @@ return { ["gloves"] = { type = "Rune", "Adds 5 to 12 Physical Damage to Attacks", - "Bonded: Fissure Skills have +2 to Limit", - statOrder = { 858, 6616 }, + statOrder = { 858 }, tradeHashes = { [3032590688] = { "Adds 5 to 12 Physical Damage to Attacks" }, }, + bonded = { + "Fissure Skills have +2 to Limit", + statOrder = { 6616 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -3021,9 +3963,12 @@ return { ["body armour"] = { type = "Rune", "15% of Damage is taken from Mana before Life", - "Bonded: 8% of Maximum Life Converted to Energy Shield", - statOrder = { 2472, 8884 }, + statOrder = { 2472 }, tradeHashes = { [458438597] = { "15% of Damage is taken from Mana before Life" }, }, + bonded = { + "8% of Maximum Life Converted to Energy Shield", + statOrder = { 8884 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -3058,9 +4003,12 @@ return { ["armour"] = { type = "Rune", "+15 to maximum Runic Ward", - "Bonded: 15% increased Global Armour, Evasion and Energy Shield", - statOrder = { 845, 2588 }, + statOrder = { 845 }, tradeHashes = { [774059442] = { "+15 to maximum Runic Ward" }, }, + bonded = { + "15% increased Global Armour, Evasion and Energy Shield", + statOrder = { 2588 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -3069,9 +4017,12 @@ return { ["armour"] = { type = "Rune", "+20 to maximum Runic Ward", - "Bonded: 15% increased Global Armour, Evasion and Energy Shield", - statOrder = { 845, 2588 }, + statOrder = { 845 }, tradeHashes = { [774059442] = { "+20 to maximum Runic Ward" }, }, + bonded = { + "15% increased Global Armour, Evasion and Energy Shield", + statOrder = { 2588 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3080,9 +4031,12 @@ return { ["armour"] = { type = "Rune", "+25 to maximum Runic Ward", - "Bonded: 15% increased Global Armour, Evasion and Energy Shield", - statOrder = { 845, 2588 }, + statOrder = { 845 }, tradeHashes = { [774059442] = { "+25 to maximum Runic Ward" }, }, + bonded = { + "15% increased Global Armour, Evasion and Energy Shield", + statOrder = { 2588 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3091,9 +4045,12 @@ return { ["armour"] = { type = "Rune", "+30 to maximum Runic Ward", - "Bonded: 15% increased Global Armour, Evasion and Energy Shield", - statOrder = { 845, 2588 }, + statOrder = { 845 }, tradeHashes = { [774059442] = { "+30 to maximum Runic Ward" }, }, + bonded = { + "15% increased Global Armour, Evasion and Energy Shield", + statOrder = { 2588 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -3102,9 +4059,12 @@ return { ["armour"] = { type = "Rune", "8% increased Runic Ward Regeneration Rate", - "Bonded: Regenerate 10 Runic Ward per second", - statOrder = { 10520, 4764 }, + statOrder = { 10520 }, tradeHashes = { [2392260628] = { "8% increased Runic Ward Regeneration Rate" }, }, + bonded = { + "Regenerate 10 Runic Ward per second", + statOrder = { 4764 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -3113,9 +4073,12 @@ return { ["armour"] = { type = "Rune", "12% increased Runic Ward Regeneration Rate", - "Bonded: Regenerate 15 Runic Ward per second", - statOrder = { 10520, 4764 }, + statOrder = { 10520 }, tradeHashes = { [2392260628] = { "12% increased Runic Ward Regeneration Rate" }, }, + bonded = { + "Regenerate 15 Runic Ward per second", + statOrder = { 4764 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3124,9 +4087,12 @@ return { ["armour"] = { type = "Rune", "16% increased Runic Ward Regeneration Rate", - "Bonded: Regenerate 20 Runic Ward per second", - statOrder = { 10520, 4764 }, + statOrder = { 10520 }, tradeHashes = { [2392260628] = { "16% increased Runic Ward Regeneration Rate" }, }, + bonded = { + "Regenerate 20 Runic Ward per second", + statOrder = { 4764 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3135,9 +4101,12 @@ return { ["armour"] = { type = "Rune", "20% increased Runic Ward Regeneration Rate", - "Bonded: Regenerate 25 Runic Ward per second", - statOrder = { 10520, 4764 }, + statOrder = { 10520 }, tradeHashes = { [2392260628] = { "20% increased Runic Ward Regeneration Rate" }, }, + bonded = { + "Regenerate 25 Runic Ward per second", + statOrder = { 4764 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -3146,9 +4115,12 @@ return { ["armour"] = { type = "Rune", "20% increased Runic Ward", - "Bonded: Gain 2% of maximum Life as Extra maximum Runic Ward", - statOrder = { 855, 1430 }, + statOrder = { 855 }, tradeHashes = { [830161081] = { "20% increased Runic Ward" }, }, + bonded = { + "Gain 2% of maximum Life as Extra maximum Runic Ward", + statOrder = { 1430 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3157,9 +4129,12 @@ return { ["armour"] = { type = "Rune", "Every 4 seconds, gain Guard equal to 20% of maximum Runic Ward for 2 seconds", - "Bonded: 8% increased Guard gained", - statOrder = { 6802, 6951 }, + statOrder = { 6802 }, tradeHashes = { [1963589548] = { "Every 4 seconds, gain Guard equal to 20% of maximum Runic Ward for 2 seconds" }, }, + bonded = { + "8% increased Guard gained", + statOrder = { 6951 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3168,9 +4143,12 @@ return { ["weapon"] = { type = "Rune", "Attacks Break Armour equal to 15% of maximum Runic Ward", - "Bonded: Break 10% increased Armour", - statOrder = { 5015, 4407 }, + statOrder = { 5015 }, tradeHashes = { [2608793552] = { "Attacks Break Armour equal to 15% of maximum Runic Ward" }, }, + bonded = { + "Break 10% increased Armour", + statOrder = { 4407 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3179,18 +4157,24 @@ return { ["wand"] = { type = "Rune", "Spell damage Penetrates 25% of enemy Elemental Resistances while on Low Runic Ward", - "Bonded: 12% increased Elemental Damage", - statOrder = { 10042, 1726 }, + statOrder = { 10042 }, tradeHashes = { [267552601] = { "Spell damage Penetrates 25% of enemy Elemental Resistances while on Low Runic Ward" }, }, + bonded = { + "12% increased Elemental Damage", + statOrder = { 1726 }, + }, isSocketBound = false, rank = { 15 }, }, ["staff"] = { type = "Rune", "Spell damage Penetrates 25% of enemy Elemental Resistances while on Low Runic Ward", - "Bonded: 12% increased Elemental Damage", - statOrder = { 10042, 1726 }, + statOrder = { 10042 }, tradeHashes = { [267552601] = { "Spell damage Penetrates 25% of enemy Elemental Resistances while on Low Runic Ward" }, }, + bonded = { + "12% increased Elemental Damage", + statOrder = { 1726 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3199,9 +4183,12 @@ return { ["boots"] = { type = "Rune", "1% increased Energy Shield Recharge Rate per 30 maximum Runic Ward", - "Bonded: Regenerate 1% of maximum Energy Shield per second", - statOrder = { 6442, 2420 }, + statOrder = { 6442 }, tradeHashes = { [162036024] = { "1% increased Energy Shield Recharge Rate per 30 maximum Runic Ward" }, }, + bonded = { + "Regenerate 1% of maximum Energy Shield per second", + statOrder = { 2420 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3210,9 +4197,12 @@ return { ["helmet"] = { type = "Rune", "25% increased Armour and Evasion Rating while on Low Runic Ward", - "Bonded: 20% increased Armour and Evasion Rating when on Low Life", - statOrder = { 4402, 2930 }, + statOrder = { 4402 }, tradeHashes = { [1392112423] = { "25% increased Armour and Evasion Rating while on Low Runic Ward" }, }, + bonded = { + "20% increased Armour and Evasion Rating when on Low Life", + statOrder = { 2930 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3221,18 +4211,24 @@ return { ["shield"] = { type = "Rune", "+4 to Stun Threshold per 10 maximum Runic Ward", - "Bonded: 15% increased Stun buildup while Shapeshifted", - statOrder = { 10134, 7205 }, + statOrder = { 10134 }, tradeHashes = { [2838678452] = { "+4 to Stun Threshold per 10 maximum Runic Ward" }, }, + bonded = { + "15% increased Stun buildup while Shapeshifted", + statOrder = { 7205 }, + }, isSocketBound = false, rank = { 30 }, }, ["buckler"] = { type = "Rune", "+4 to Stun Threshold per 10 maximum Runic Ward", - "Bonded: 15% increased Stun buildup while Shapeshifted", - statOrder = { 10134, 7205 }, + statOrder = { 10134 }, tradeHashes = { [2838678452] = { "+4 to Stun Threshold per 10 maximum Runic Ward" }, }, + bonded = { + "15% increased Stun buildup while Shapeshifted", + statOrder = { 7205 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3241,9 +4237,12 @@ return { ["body armour"] = { type = "Rune", "+3 to Deflection Rating per 10 maximum Runic Ward", - "Bonded: Prevent +1% of Damage from Deflected Hits", - statOrder = { 9, 4679 }, + statOrder = { 9 }, tradeHashes = { [282990844] = { "+3 to Deflection Rating per 10 maximum Runic Ward" }, }, + bonded = { + "Prevent +1% of Damage from Deflected Hits", + statOrder = { 4679 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3252,9 +4251,12 @@ return { ["body armour"] = { type = "Rune", "Gain 5% of maximum Life as Extra maximum Runic Ward", - "Bonded: 1% more Runic Ward Regeneration rate per 2% of maximum Runic Ward lost from Hits Recently, up to 100% more", - statOrder = { 1430, 10523 }, + statOrder = { 1430 }, tradeHashes = { [386720106] = { "Gain 5% of maximum Life as Extra maximum Runic Ward" }, }, + bonded = { + "1% more Runic Ward Regeneration rate per 2% of maximum Runic Ward lost from Hits Recently, up to 100% more", + statOrder = { 10523 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3263,9 +4265,12 @@ return { ["armour"] = { type = "Rune", "15% Life Recovery from Flasks also applies to Runic Ward", - "Bonded: 15% increased Life Recovery from Flasks", - statOrder = { 7474, 1794 }, + statOrder = { 7474 }, tradeHashes = { [2650263616] = { "15% Life Recovery from Flasks also applies to Runic Ward" }, }, + bonded = { + "15% increased Life Recovery from Flasks", + statOrder = { 1794 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3274,9 +4279,12 @@ return { ["weapon"] = { type = "Rune", "Attacks spend 5% of your maximum Runic Ward if possible to gain that much added Physical damage", - "Bonded: 10% reduced Runic Ward Cost Efficiency", - statOrder = { 4580, 4763 }, + statOrder = { 4580 }, tradeHashes = { [3035971497] = { "Attacks spend 5% of your maximum Runic Ward if possible to gain that much added Physical damage" }, }, + bonded = { + "10% reduced Runic Ward Cost Efficiency", + statOrder = { 4763 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3285,9 +4293,12 @@ return { ["weapon"] = { type = "Rune", "Gain maximum Runic Ward equal to 15% of this Weapon's maximum damage", - "Bonded: 5% increased Attack Speed while missing Runic Ward", - statOrder = { 7829, 4558 }, + statOrder = { 7829 }, tradeHashes = { [1995345015] = { "Gain maximum Runic Ward equal to 15% of this Weapon's maximum damage" }, }, + bonded = { + "5% increased Attack Speed while missing Runic Ward", + statOrder = { 4558 }, + }, isSocketBound = false, rank = { 45 }, }, @@ -3297,9 +4308,12 @@ return { type = "Rune", "All damage taken bypasses Runic Ward", "Runic Ward Regeneration Rate is doubled", - "Bonded: 12% increased maximum Runic Ward", - statOrder = { 5965, 10525, 891 }, + statOrder = { 5965, 10525 }, tradeHashes = { [2579974553] = { "Runic Ward Regeneration Rate is doubled" }, [3814102597] = { "All damage taken bypasses Runic Ward" }, }, + bonded = { + "12% increased maximum Runic Ward", + statOrder = { 891 }, + }, isSocketBound = false, rank = { 45 }, }, @@ -3309,9 +4323,12 @@ return { type = "Rune", "40% less Mana Regeneration Rate", "Mana Recovery from Regeneration is also applied to Runic Ward", - "Bonded: 20% increased Runic Ward Regeneration Rate if you've dealt a Critical Hit Recently", - statOrder = { 7999, 9705, 10521 }, - tradeHashes = { [762761075] = { "40% less Mana Regeneration Rate" }, [3145796865] = { "Mana Recovery from Regeneration is also applied to Runic Ward" }, }, + statOrder = { 7999, 9705 }, + tradeHashes = { [3145796865] = { "Mana Recovery from Regeneration is also applied to Runic Ward" }, [762761075] = { "40% less Mana Regeneration Rate" }, }, + bonded = { + "20% increased Runic Ward Regeneration Rate if you've dealt a Critical Hit Recently", + statOrder = { 10521 }, + }, isSocketBound = false, rank = { 45 }, }, @@ -3320,9 +4337,12 @@ return { ["sceptre"] = { type = "Rune", "Recover 3% of maximum Runic Ward when one of your Reviving Minions is Killed", - "Bonded: Recover 3% of maximum Life when one of your Minions is Revived", - statOrder = { 9707, 10596 }, + statOrder = { 9707 }, tradeHashes = { [3515226849] = { "Recover 3% of maximum Runic Ward when one of your Reviving Minions is Killed" }, }, + bonded = { + "Recover 3% of maximum Life when one of your Minions is Revived", + statOrder = { 10596 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3331,10 +4351,13 @@ return { ["sceptre"] = { type = "Rune", "Minions in your Presence have Onslaught while you are on Low Runic Ward", - "Bonded: Damage of Enemies Hitting you is Unlucky if", - "Bonded: your Runic Ward has been damaged Recently", - statOrder = { 9109, 6042, 6042.1 }, + statOrder = { 9109 }, tradeHashes = { [540694930] = { "Minions in your Presence have Onslaught while you are on Low Runic Ward" }, }, + bonded = { + "Damage of Enemies Hitting you is Unlucky if", + "your Runic Ward has been damaged Recently", + statOrder = { 6042, 6042.1 }, + }, isSocketBound = false, rank = { 45 }, }, @@ -3344,9 +4367,12 @@ return { type = "Rune", "Gain 15% of maximum Life as Extra maximum Runic Ward", "15% less maximum Life", - "Bonded: +1% to all Maximum Elemental Resistances while on full Runic Ward", - statOrder = { 1430, 8878, 4200 }, + statOrder = { 1430, 8878 }, tradeHashes = { [386720106] = { "Gain 15% of maximum Life as Extra maximum Runic Ward" }, [1020945697] = { "15% less maximum Life" }, }, + bonded = { + "+1% to all Maximum Elemental Resistances while on full Runic Ward", + statOrder = { 4200 }, + }, isSocketBound = false, rank = { 45 }, }, @@ -3355,18 +4381,24 @@ return { ["weapon"] = { type = "Rune", "Transforms all Cold and Lightning modifiers on the item into equivalent Fire modifiers", - "Bonded: 25% increased Fire Damage", - statOrder = { 6242, 873 }, + statOrder = { 6242 }, tradeHashes = { [602344904] = { "Transforms all Cold and Lightning modifiers on the item into equivalent Fire modifiers" }, }, + bonded = { + "25% increased Fire Damage", + statOrder = { 873 }, + }, isSocketBound = true, rank = { 0 }, }, ["caster"] = { type = "Rune", "Transforms all Cold and Lightning modifiers on the item into equivalent Fire modifiers", - "Bonded: 25% increased Fire Damage", - statOrder = { 6242, 873 }, + statOrder = { 6242 }, tradeHashes = { [602344904] = { "Transforms all Cold and Lightning modifiers on the item into equivalent Fire modifiers" }, }, + bonded = { + "25% increased Fire Damage", + statOrder = { 873 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3375,18 +4407,24 @@ return { ["weapon"] = { type = "Rune", "When socketed, transforms all Fire and Lightning modifiers to equivalent Cold modifiers", - "Bonded: 25% increased Cold Damage", - statOrder = { 6239, 874 }, + statOrder = { 6239 }, tradeHashes = { [2390027291] = { "When socketed, transforms all Fire and Lightning modifiers to equivalent Cold modifiers" }, }, + bonded = { + "25% increased Cold Damage", + statOrder = { 874 }, + }, isSocketBound = true, rank = { 0 }, }, ["caster"] = { type = "Rune", "When socketed, transforms all Fire and Lightning modifiers to equivalent Cold modifiers", - "Bonded: 25% increased Cold Damage", - statOrder = { 6239, 874 }, + statOrder = { 6239 }, tradeHashes = { [2390027291] = { "When socketed, transforms all Fire and Lightning modifiers to equivalent Cold modifiers" }, }, + bonded = { + "25% increased Cold Damage", + statOrder = { 874 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3395,18 +4433,24 @@ return { ["weapon"] = { type = "Rune", "Transforms all Fire and Cold modifiers on the item into equivalent Lightning modifiers", - "Bonded: 25% increased Lightning Damage", - statOrder = { 6243, 875 }, + statOrder = { 6243 }, tradeHashes = { [1433896639] = { "Transforms all Fire and Cold modifiers on the item into equivalent Lightning modifiers" }, }, + bonded = { + "25% increased Lightning Damage", + statOrder = { 875 }, + }, isSocketBound = true, rank = { 0 }, }, ["caster"] = { type = "Rune", "Transforms all Fire and Cold modifiers on the item into equivalent Lightning modifiers", - "Bonded: 25% increased Lightning Damage", - statOrder = { 6243, 875 }, + statOrder = { 6243 }, tradeHashes = { [1433896639] = { "Transforms all Fire and Cold modifiers on the item into equivalent Lightning modifiers" }, }, + bonded = { + "25% increased Lightning Damage", + statOrder = { 875 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3415,18 +4459,24 @@ return { ["weapon"] = { type = "Rune", "Transforms all Fire, Cold and Lightning modifiers on the item into equivalent Chaos modifiers", - "Bonded: 25% increased Chaos Damage", - statOrder = { 6238, 876 }, + statOrder = { 6238 }, tradeHashes = { [1624833382] = { "Transforms all Fire, Cold and Lightning modifiers on the item into equivalent Chaos modifiers" }, }, + bonded = { + "25% increased Chaos Damage", + statOrder = { 876 }, + }, isSocketBound = true, rank = { 0 }, }, ["caster"] = { type = "Rune", "Transforms all Fire, Cold and Lightning modifiers on the item into equivalent Chaos modifiers", - "Bonded: 25% increased Chaos Damage", - statOrder = { 6238, 876 }, + statOrder = { 6238 }, tradeHashes = { [1624833382] = { "Transforms all Fire, Cold and Lightning modifiers on the item into equivalent Chaos modifiers" }, }, + bonded = { + "25% increased Chaos Damage", + statOrder = { 876 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3435,9 +4485,12 @@ return { ["bow"] = { type = "Rune", "+50% Surpassing chance to fire an additional Arrow", - "Bonded: 30% increased Projectile Speed", - statOrder = { 5513, 897 }, + statOrder = { 5513 }, tradeHashes = { [2463230181] = { "+50% Surpassing chance to fire an additional Arrow" }, }, + bonded = { + "30% increased Projectile Speed", + statOrder = { 897 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3446,9 +4499,12 @@ return { ["buckler"] = { type = "Rune", "30% increased Parried Debuff Magnitude", - "Bonded: 15% increased Block chance", - statOrder = { 9379, 1133 }, + statOrder = { 9379 }, tradeHashes = { [818877178] = { "30% increased Parried Debuff Magnitude" }, }, + bonded = { + "15% increased Block chance", + statOrder = { 1133 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3457,9 +4513,12 @@ return { ["two hand mace"] = { type = "Rune", "10% chance for Slam Skills you use yourself to cause an additional Aftershock", - "Bonded: 15% increased Area of Effect for Attacks", - statOrder = { 10626, 4493 }, + statOrder = { 10626 }, tradeHashes = { [2045949233] = { "10% chance for Slam Skills you use yourself to cause an additional Aftershock" }, }, + bonded = { + "15% increased Area of Effect for Attacks", + statOrder = { 4493 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3468,9 +4527,12 @@ return { ["one hand mace"] = { type = "Rune", "40% increased effect of Fully Broken Armour", - "Bonded: Break 50% increased Armour", - statOrder = { 5236, 4407 }, + statOrder = { 5236 }, tradeHashes = { [1879206848] = { "40% increased effect of Fully Broken Armour" }, }, + bonded = { + "Break 50% increased Armour", + statOrder = { 4407 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3479,9 +4541,12 @@ return { ["spear"] = { type = "Rune", "30% chance when you gain a Charge to gain an additional Charge", - "Bonded: 30% increased Endurance, Frenzy and Power Charge Duration", - statOrder = { 5518, 2761 }, + statOrder = { 5518 }, tradeHashes = { [1555237944] = { "30% chance when you gain a Charge to gain an additional Charge" }, }, + bonded = { + "30% increased Endurance, Frenzy and Power Charge Duration", + statOrder = { 2761 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3490,9 +4555,12 @@ return { ["quarterstaff"] = { type = "Rune", "50% increased Immobilisation buildup", - "Bonded: 30% increased Damage against Immobilised Enemies", - statOrder = { 7193, 5959 }, + statOrder = { 7193 }, tradeHashes = { [330530785] = { "50% increased Immobilisation buildup" }, }, + bonded = { + "30% increased Damage against Immobilised Enemies", + statOrder = { 5959 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3501,9 +4569,12 @@ return { ["staff"] = { type = "Rune", "30% chance to create an additional Remnant", - "Bonded: +1 to maximum number of Elemental Infusions", - statOrder = { 5409, 8875 }, + statOrder = { 5409 }, tradeHashes = { [2328443419] = { "30% chance to create an additional Remnant" }, }, + bonded = { + "+1 to maximum number of Elemental Infusions", + statOrder = { 8875 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3512,9 +4583,12 @@ return { ["wand"] = { type = "Rune", "25% increased Withered Magnitude", - "Bonded: 15% chance that when Volatility on you explodes, you regain an equivalent amount of Volatility", - statOrder = { 10556, 10485 }, + statOrder = { 10556 }, tradeHashes = { [3973629633] = { "25% increased Withered Magnitude" }, }, + bonded = { + "15% chance that when Volatility on you explodes, you regain an equivalent amount of Volatility", + statOrder = { 10485 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3523,9 +4597,12 @@ return { ["focus"] = { type = "Rune", "40% increased Area of Effect of Curses", - "Bonded: 15% faster Curse Activation", - statOrder = { 1950, 5924 }, + statOrder = { 1950 }, tradeHashes = { [153777645] = { "40% increased Area of Effect of Curses" }, }, + bonded = { + "15% faster Curse Activation", + statOrder = { 5924 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3534,9 +4611,12 @@ return { ["sceptre"] = { type = "Rune", "Minions have 8% increased Attack and Cast Speed", - "Bonded: Minions have 10% increased Movement Speed", - statOrder = { 9003, 1528 }, + statOrder = { 9003 }, tradeHashes = { [3091578504] = { "Minions have 8% increased Attack and Cast Speed" }, }, + bonded = { + "Minions have 10% increased Movement Speed", + statOrder = { 1528 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3545,9 +4625,12 @@ return { ["talisman"] = { type = "Rune", "Gain 2 Druidic Prowess when you Heavy Stun a Rare or Unique Enemy", - "Bonded: 40% increased Stun Buildup", - statOrder = { 6713, 1051 }, + statOrder = { 6713 }, tradeHashes = { [3444646646] = { "Gain 2 Druidic Prowess when you Heavy Stun a Rare or Unique Enemy" }, }, + bonded = { + "40% increased Stun Buildup", + statOrder = { 1051 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3556,9 +4639,12 @@ return { ["crossbow"] = { type = "Rune", "Grenades have 10% chance to activate a second time", - "Bonded: 40% increased Crossbow Reload Speed", - statOrder = { 6939, 9734 }, + statOrder = { 6939 }, tradeHashes = { [538981065] = { "Grenades have 10% chance to activate a second time" }, }, + bonded = { + "40% increased Crossbow Reload Speed", + statOrder = { 9734 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3567,9 +4653,12 @@ return { ["shield"] = { type = "Rune", "8% increased Attack Speed if you have Blocked Recently", - "Bonded: +3% to maximum Block chance", - statOrder = { 4565, 1734 }, + statOrder = { 4565 }, tradeHashes = { [3203854378] = { "8% increased Attack Speed if you have Blocked Recently" }, }, + bonded = { + "+3% to maximum Block chance", + statOrder = { 1734 }, + }, isSocketBound = false, rank = { 30 }, }, @@ -3578,36 +4667,48 @@ return { ["weapon"] = { type = "Rune", "+80 to maximum Life", - "Bonded: 15% increased amount of Life Leeched", - statOrder = { 887, 1895 }, + statOrder = { 887 }, tradeHashes = { [3299347043] = { "+80 to maximum Life" }, }, + bonded = { + "15% increased amount of Life Leeched", + statOrder = { 1895 }, + }, isSocketBound = false, rank = { 15 }, }, ["caster"] = { type = "Rune", "+80 to maximum Life", - "Bonded: 15% increased amount of Life Leeched", - statOrder = { 887, 1895 }, + statOrder = { 887 }, tradeHashes = { [3299347043] = { "+80 to maximum Life" }, }, + bonded = { + "15% increased amount of Life Leeched", + statOrder = { 1895 }, + }, isSocketBound = false, rank = { 15 }, }, ["shield"] = { type = "Rune", "Recover 15 Life when you Block", - "Bonded: 5% increased maximum Life", - statOrder = { 1522, 889 }, + statOrder = { 1522 }, tradeHashes = { [1678831767] = { "Recover 15 Life when you Block" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 15 }, }, ["buckler"] = { type = "Rune", "Recover 15 Life when you Block", - "Bonded: 5% increased maximum Life", - statOrder = { 1522, 889 }, + statOrder = { 1522 }, tradeHashes = { [1678831767] = { "Recover 15 Life when you Block" }, }, + bonded = { + "5% increased maximum Life", + statOrder = { 889 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3616,18 +4717,24 @@ return { ["boots"] = { type = "Rune", "8% increased Movement Speed while Sprinting", - "Bonded: 50% increased Stun Recovery", - statOrder = { 10069, 1060 }, + statOrder = { 10069 }, tradeHashes = { [3107707789] = { "8% increased Movement Speed while Sprinting" }, }, + bonded = { + "50% increased Stun Recovery", + statOrder = { 1060 }, + }, isSocketBound = false, rank = { 15 }, }, ["sceptre"] = { type = "Rune", "Companions deal 30% increased Damage", - "Bonded: 8% increased Mana Recovery rate while your Companion is in your Presence", - statOrder = { 5722, 7996 }, + statOrder = { 5722 }, tradeHashes = { [234296660] = { "Companions deal 30% increased Damage" }, }, + bonded = { + "8% increased Mana Recovery rate while your Companion is in your Presence", + statOrder = { 7996 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3636,27 +4743,36 @@ return { ["weapon"] = { type = "Rune", "Flasks gain 0.2 charges per Second", - "Bonded: Charms gain 0.25 charges per Second", - statOrder = { 6888, 6889 }, + statOrder = { 6888 }, tradeHashes = { [731781020] = { "Flasks gain 0.2 charges per Second" }, }, + bonded = { + "Charms gain 0.25 charges per Second", + statOrder = { 6889 }, + }, isSocketBound = false, rank = { 15 }, }, ["caster"] = { type = "Rune", "Flasks gain 0.2 charges per Second", - "Bonded: Charms gain 0.25 charges per Second", - statOrder = { 6888, 6889 }, + statOrder = { 6888 }, tradeHashes = { [731781020] = { "Flasks gain 0.2 charges per Second" }, }, + bonded = { + "Charms gain 0.25 charges per Second", + statOrder = { 6889 }, + }, isSocketBound = false, rank = { 15 }, }, ["boots"] = { type = "Rune", "+0.3 metres to Dodge Roll distance", - "Bonded: 30% increased Armour if you haven't Dodge Rolled Recently", - statOrder = { 6200, 4390 }, + statOrder = { 6200 }, tradeHashes = { [258119672] = { "+0.3 metres to Dodge Roll distance" }, }, + bonded = { + "30% increased Armour if you haven't Dodge Rolled Recently", + statOrder = { 4390 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3665,27 +4781,36 @@ return { ["gloves"] = { type = "Rune", "50% chance to build an additional Combo on Hit", - "Bonded: 5% increased Attack Speed", - statOrder = { 4185, 985 }, + statOrder = { 4185 }, tradeHashes = { [4258524206] = { "50% chance to build an additional Combo on Hit" }, }, + bonded = { + "5% increased Attack Speed", + statOrder = { 985 }, + }, isSocketBound = false, rank = { 15 }, }, ["one hand mace"] = { type = "Rune", "Rolls only the minimum or maximum Damage value for Physical Damage", - "Bonded: 20% increased Bleeding Duration", - statOrder = { 7811, 4660 }, + statOrder = { 7811 }, tradeHashes = { [103706408] = { "Rolls only the minimum or maximum Damage value for Physical Damage" }, }, + bonded = { + "20% increased Bleeding Duration", + statOrder = { 4660 }, + }, isSocketBound = false, rank = { 15 }, }, ["quarterstaff"] = { type = "Rune", "Rolls only the minimum or maximum Damage value for Physical Damage", - "Bonded: 20% increased Bleeding Duration", - statOrder = { 7811, 4660 }, + statOrder = { 7811 }, tradeHashes = { [103706408] = { "Rolls only the minimum or maximum Damage value for Physical Damage" }, }, + bonded = { + "20% increased Bleeding Duration", + statOrder = { 4660 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3694,18 +4819,24 @@ return { ["gloves"] = { type = "Rune", "50% increased Glory generation", - "Bonded: Banner Skills have 20% increased Aura Magnitudes", - statOrder = { 6914, 3066 }, + statOrder = { 6914 }, tradeHashes = { [3143918757] = { "50% increased Glory generation" }, }, + bonded = { + "Banner Skills have 20% increased Aura Magnitudes", + statOrder = { 3066 }, + }, isSocketBound = false, rank = { 15 }, }, ["caster"] = { type = "Rune", "Archon recovery period expires 30% faster", - "Bonded: 30% increased Archon Buff duration", - statOrder = { 4343, 4344 }, + statOrder = { 4343 }, tradeHashes = { [2586152168] = { "Archon recovery period expires 30% faster" }, }, + bonded = { + "30% increased Archon Buff duration", + statOrder = { 4344 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3715,37 +4846,49 @@ return { type = "Rune", "Gain 3 Life per Enemy Hit with Attacks", "Gain 1 Mana per Enemy Hit with Attacks", - "Bonded: +30 to maximum Life", - "Bonded: +30 to maximum Mana", - statOrder = { 1040, 1507, 887, 892 }, + statOrder = { 1040, 1507 }, tradeHashes = { [2797971005] = { "Gain 3 Life per Enemy Hit with Attacks" }, [820939409] = { "Gain 1 Mana per Enemy Hit with Attacks" }, }, + bonded = { + "+30 to maximum Life", + "+30 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, ["crossbow"] = { type = "Rune", "On Hitting an enemy, gains maximum added Cold damage equal to the enemy's Power for 20 seconds, up to a total of 32", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 7799, 1057 }, + statOrder = { 7799 }, tradeHashes = { [2616640048] = { "On Hitting an enemy, gains maximum added Cold damage equal to the enemy's Power for 20 seconds, up to a total of 32" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 15 }, }, ["bow"] = { type = "Rune", "On Hitting an enemy, gains maximum added Cold damage equal to the enemy's Power for 20 seconds, up to a total of 32", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 7799, 1057 }, + statOrder = { 7799 }, tradeHashes = { [2616640048] = { "On Hitting an enemy, gains maximum added Cold damage equal to the enemy's Power for 20 seconds, up to a total of 32" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 15 }, }, ["spear"] = { type = "Rune", "On Hitting an enemy, gains maximum added Cold damage equal to the enemy's Power for 20 seconds, up to a total of 32", - "Bonded: 30% increased Freeze Buildup", - statOrder = { 7799, 1057 }, + statOrder = { 7799 }, tradeHashes = { [2616640048] = { "On Hitting an enemy, gains maximum added Cold damage equal to the enemy's Power for 20 seconds, up to a total of 32" }, }, + bonded = { + "30% increased Freeze Buildup", + statOrder = { 1057 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3756,10 +4899,13 @@ return { "+30 to Armour", "+30 to Evasion Rating", "+10 to maximum Energy Shield", - "Bonded: +20 to maximum Life", - "Bonded: +20 to maximum Mana", - statOrder = { 840, 841, 843, 887, 892 }, + statOrder = { 840, 841, 843 }, tradeHashes = { [3484657501] = { "+30 to Armour" }, [53045048] = { "+30 to Evasion Rating" }, [4052037485] = { "+10 to maximum Energy Shield" }, }, + bonded = { + "+20 to maximum Life", + "+20 to maximum Mana", + statOrder = { 887, 892 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3769,9 +4915,12 @@ return { type = "Rune", "-10% to all Maximum Elemental Resistances", "+20% to all Elemental Resistances", - "Bonded: 20% of Damage is taken from Mana before Life", - statOrder = { 1007, 1013, 2472 }, + statOrder = { 1007, 1013 }, tradeHashes = { [2901986750] = { "+20% to all Elemental Resistances" }, [1978899297] = { "-10% to all Maximum Elemental Resistances" }, }, + bonded = { + "20% of Damage is taken from Mana before Life", + statOrder = { 2472 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3781,9 +4930,12 @@ return { type = "Rune", "+50 to Spirit", "-1 to Spirit per 2 Levels", - "Bonded: 5% increased Spirit Reservation Efficiency", - statOrder = { 895, 10058, 4755 }, + statOrder = { 895, 10058 }, tradeHashes = { [2704225257] = { "+50 to Spirit" }, [610569665] = { "-1 to Spirit per 2 Levels" }, }, + bonded = { + "5% increased Spirit Reservation Efficiency", + statOrder = { 4755 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3793,18 +4945,24 @@ return { type = "Rune", "200% increased Critical Hit Chance", "You have no Critical Damage Bonus", - "Bonded: Hits against you have 25% reduced Critical Damage Bonus", - statOrder = { 976, 1405, 1005 }, + statOrder = { 976, 1405 }, tradeHashes = { [587431675] = { "200% increased Critical Hit Chance" }, [4058681894] = { "You have no Critical Damage Bonus" }, }, + bonded = { + "Hits against you have 25% reduced Critical Damage Bonus", + statOrder = { 1005 }, + }, isSocketBound = false, rank = { 15 }, }, ["caster"] = { type = "Rune", "50% increased Spell Damage while your Companion is in your Presence", - "Bonded: 8% increased Mana Recovery rate while your Companion is in your Presence", - statOrder = { 10009, 7996 }, + statOrder = { 10009 }, tradeHashes = { [4063732952] = { "50% increased Spell Damage while your Companion is in your Presence" }, }, + bonded = { + "8% increased Mana Recovery rate while your Companion is in your Presence", + statOrder = { 7996 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3813,9 +4971,12 @@ return { ["helmet"] = { type = "Rune", "Remnants you create have 15% increased effect", - "Bonded: Recover 3% of Maximum Mana when you collect a Remnant", - statOrder = { 9736, 9740 }, + statOrder = { 9736 }, tradeHashes = { [1999910726] = { "Remnants you create have 15% increased effect" }, }, + bonded = { + "Recover 3% of Maximum Mana when you collect a Remnant", + statOrder = { 9740 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3823,9 +4984,12 @@ return { type = "Rune", "Remnants you create have 25% reduced effect", "Remnants can be collected from 50% further away", - "Bonded: 20% increased Exposure Effect", - statOrder = { 9736, 9738, 6533 }, + statOrder = { 9736, 9738 }, tradeHashes = { [1999910726] = { "Remnants you create have 25% reduced effect" }, [3482326075] = { "Remnants can be collected from 50% further away" }, }, + bonded = { + "20% increased Exposure Effect", + statOrder = { 6533 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3833,9 +4997,12 @@ return { type = "Rune", "Remnants you create have 25% reduced effect", "Remnants can be collected from 50% further away", - "Bonded: 20% increased Exposure Effect", - statOrder = { 9736, 9738, 6533 }, + statOrder = { 9736, 9738 }, tradeHashes = { [1999910726] = { "Remnants you create have 25% reduced effect" }, [3482326075] = { "Remnants can be collected from 50% further away" }, }, + bonded = { + "20% increased Exposure Effect", + statOrder = { 6533 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3845,9 +5012,12 @@ return { type = "Rune", "Adds 13 to 16 Fire Damage", "15% of Skill Mana Costs Converted to Life Costs", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 4744, 1077 }, - tradeHashes = { [2480498143] = { "15% of Skill Mana Costs Converted to Life Costs" }, [709508406] = { "Adds 13 to 16 Fire Damage" }, }, + statOrder = { 832, 4744 }, + tradeHashes = { [709508406] = { "Adds 13 to 16 Fire Damage" }, [2480498143] = { "15% of Skill Mana Costs Converted to Life Costs" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3855,9 +5025,12 @@ return { type = "Rune", "Adds 13 to 16 Fire Damage", "15% of Skill Mana Costs Converted to Life Costs", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 4744, 1077 }, - tradeHashes = { [2480498143] = { "15% of Skill Mana Costs Converted to Life Costs" }, [709508406] = { "Adds 13 to 16 Fire Damage" }, }, + statOrder = { 832, 4744 }, + tradeHashes = { [709508406] = { "Adds 13 to 16 Fire Damage" }, [2480498143] = { "15% of Skill Mana Costs Converted to Life Costs" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3865,9 +5038,12 @@ return { type = "Rune", "Adds 13 to 16 Fire Damage", "15% of Skill Mana Costs Converted to Life Costs", - "Bonded: 30% increased Ignite Magnitude", - statOrder = { 832, 4744, 1077 }, - tradeHashes = { [2480498143] = { "15% of Skill Mana Costs Converted to Life Costs" }, [709508406] = { "Adds 13 to 16 Fire Damage" }, }, + statOrder = { 832, 4744 }, + tradeHashes = { [709508406] = { "Adds 13 to 16 Fire Damage" }, [2480498143] = { "15% of Skill Mana Costs Converted to Life Costs" }, }, + bonded = { + "30% increased Ignite Magnitude", + statOrder = { 1077 }, + }, isSocketBound = false, rank = { 15 }, }, @@ -3958,9 +5134,12 @@ return { ["boots"] = { type = "Rune", "Can roll Chronomancy modifiers", - "Bonded: 10% increased Cooldown Recovery Rate", - statOrder = { 10526, 4677 }, + statOrder = { 10526 }, tradeHashes = { [3132681620] = { "Can roll Chronomancy modifiers" }, }, + bonded = { + "10% increased Cooldown Recovery Rate", + statOrder = { 4677 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3969,9 +5148,12 @@ return { ["gloves"] = { type = "Rune", "Can roll Marksman modifiers", - "Bonded: 20% increased Projectile Damage", - statOrder = { 10529, 1738 }, + statOrder = { 10529 }, tradeHashes = { [201332984] = { "Can roll Marksman modifiers" }, }, + bonded = { + "20% increased Projectile Damage", + statOrder = { 1738 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3980,9 +5162,12 @@ return { ["helmet"] = { type = "Rune", "Can roll Berserking modifiers", - "Bonded: Gain 2 Rage on Melee Hit", - statOrder = { 10528, 6873 }, + statOrder = { 10528 }, tradeHashes = { [1770091046] = { "Can roll Berserking modifiers" }, }, + bonded = { + "Gain 2 Rage on Melee Hit", + statOrder = { 6873 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -3991,18 +5176,24 @@ return { ["weapon"] = { type = "Rune", "Can roll Destruction modifiers", - "Bonded: +5% to all Elemental Resistances", - statOrder = { 10531, 1013 }, + statOrder = { 10531 }, tradeHashes = { [1676950499] = { "Can roll Destruction modifiers" }, }, + bonded = { + "+5% to all Elemental Resistances", + statOrder = { 1013 }, + }, isSocketBound = true, rank = { 0 }, }, ["caster"] = { type = "Rune", "Can roll Destruction modifiers", - "Bonded: +5% to all Elemental Resistances", - statOrder = { 10531, 1013 }, + statOrder = { 10531 }, tradeHashes = { [1676950499] = { "Can roll Destruction modifiers" }, }, + bonded = { + "+5% to all Elemental Resistances", + statOrder = { 1013 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -4011,10 +5202,13 @@ return { ["body armour"] = { type = "Rune", "Can roll Soul modifiers", - "Bonded: 3% increased maximum Life", - "Bonded: 3% increased maximum Mana", - statOrder = { 10527, 889, 894 }, + statOrder = { 10527 }, tradeHashes = { [1927467683] = { "Can roll Soul modifiers" }, }, + bonded = { + "3% increased maximum Life", + "3% increased maximum Mana", + statOrder = { 889, 894 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -4023,9 +5217,12 @@ return { ["gloves"] = { type = "Rune", "Can roll Decay modifiers", - "Bonded: 25% reduced Effect of Non-Damaging Ailments on you", - statOrder = { 10530, 9225 }, + statOrder = { 10530 }, tradeHashes = { [2547063279] = { "Can roll Decay modifiers" }, }, + bonded = { + "25% reduced Effect of Non-Damaging Ailments on you", + statOrder = { 9225 }, + }, isSocketBound = true, rank = { 0 }, }, @@ -4060,9 +5257,12 @@ return { ["body armour"] = { type = "Rune", "250% of Melee Physical Damage taken reflected to Attacker", - "Bonded: Regenerate 3% of maximum Life per second while Surrounded", - statOrder = { 2241, 7510 }, + statOrder = { 2241 }, tradeHashes = { [1092987622] = { "250% of Melee Physical Damage taken reflected to Attacker" }, }, + bonded = { + "Regenerate 3% of maximum Life per second while Surrounded", + statOrder = { 7510 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4071,9 +5271,12 @@ return { ["body armour"] = { type = "Rune", "+50% of Armour also applies to Elemental Damage", - "Bonded: +15% to all Elemental Resistances", - statOrder = { 1027, 1013 }, + statOrder = { 1027 }, tradeHashes = { [3362812763] = { "+50% of Armour also applies to Elemental Damage" }, }, + bonded = { + "+15% to all Elemental Resistances", + statOrder = { 1013 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4083,9 +5286,12 @@ return { type = "Rune", "50% chance to inflict Bleeding on Hit", "50% reduced Slowing Potency of Debuffs on You", - "Bonded: 35% increased Thorns damage", - statOrder = { 4671, 4747, 10254 }, + statOrder = { 4671, 4747 }, tradeHashes = { [2174054121] = { "50% chance to inflict Bleeding on Hit" }, [924253255] = { "50% reduced Slowing Potency of Debuffs on You" }, }, + bonded = { + "35% increased Thorns damage", + statOrder = { 10254 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4094,9 +5300,12 @@ return { ["body armour"] = { type = "Rune", "Recover 5% of maximum Life for each Endurance Charge consumed", - "Bonded: +30 to maximum Life", - statOrder = { 9666, 887 }, + statOrder = { 9666 }, tradeHashes = { [939832726] = { "Recover 5% of maximum Life for each Endurance Charge consumed" }, }, + bonded = { + "+30 to maximum Life", + statOrder = { 887 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4106,9 +5315,12 @@ return { type = "Rune", "Gain 5 Rage when Hit by an Enemy", "Gain 10 Rage when Critically Hit by an Enemy", - "Bonded: +3 to Maximum Rage", - statOrder = { 6875, 6876, 9609 }, + statOrder = { 6875, 6876 }, tradeHashes = { [3292710273] = { "Gain 5 Rage when Hit by an Enemy" }, [1466716929] = { "Gain 10 Rage when Critically Hit by an Enemy" }, }, + bonded = { + "+3 to Maximum Rage", + statOrder = { 9609 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4118,9 +5330,12 @@ return { type = "Rune", "10% increased Movement Speed when on Full Life", "100% increased Evasion Rating when on Full Life", - "Bonded: 20% increased Evasion Rating", - statOrder = { 1555, 6509, 884 }, - tradeHashes = { [88817332] = { "100% increased Evasion Rating when on Full Life" }, [3393547195] = { "10% increased Movement Speed when on Full Life" }, }, + statOrder = { 1555, 6509 }, + tradeHashes = { [3393547195] = { "10% increased Movement Speed when on Full Life" }, [88817332] = { "100% increased Evasion Rating when on Full Life" }, }, + bonded = { + "20% increased Evasion Rating", + statOrder = { 884 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4130,9 +5345,12 @@ return { type = "Rune", "Cannot be Ignited", "-10 Physical Damage taken from Attack Hits", - "Bonded: +35% to Fire Resistance", - statOrder = { 1595, 1959, 1014 }, + statOrder = { 1595, 1959 }, tradeHashes = { [331731406] = { "Cannot be Ignited" }, [3441651621] = { "-10 Physical Damage taken from Attack Hits" }, }, + bonded = { + "+35% to Fire Resistance", + statOrder = { 1014 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4141,9 +5359,12 @@ return { ["body armour"] = { type = "Rune", "Gain Deflection Rating equal to 30% of Evasion Rating", - "Bonded: 35% increased Flask Mana Recovery rate", - statOrder = { 1028, 899 }, + statOrder = { 1028 }, tradeHashes = { [3033371881] = { "Gain Deflection Rating equal to 30% of Evasion Rating" }, }, + bonded = { + "35% increased Flask Mana Recovery rate", + statOrder = { 899 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4152,9 +5373,12 @@ return { ["body armour"] = { type = "Rune", "25% of Damage taken from Hits bypasses Energy Shield if Energy Shield is below half", - "Bonded: 20% increased Armour while Shapeshifted", - statOrder = { 1459, 4393 }, + statOrder = { 1459 }, tradeHashes = { [1311130924] = { "25% of Damage taken from Hits bypasses Energy Shield if Energy Shield is below half" }, }, + bonded = { + "20% increased Armour while Shapeshifted", + statOrder = { 4393 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4164,9 +5388,12 @@ return { type = "Rune", "Gain 1 Rage on Melee Hit", "Every Rage also grants 1% increased Armour", - "Bonded: +3 to Maximum Rage", - statOrder = { 6873, 10644, 9609 }, - tradeHashes = { [2709367754] = { "Gain 1 Rage on Melee Hit" }, [2995914769] = { "Every Rage also grants 1% increased Armour" }, }, + statOrder = { 6873, 10644 }, + tradeHashes = { [2995914769] = { "Every Rage also grants 1% increased Armour" }, [2709367754] = { "Gain 1 Rage on Melee Hit" }, }, + bonded = { + "+3 to Maximum Rage", + statOrder = { 9609 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4176,9 +5403,12 @@ return { type = "Rune", "Gain 1 Rage on Melee Hit", "Every Rage also grants 1% increased Stun Threshold", - "Bonded: Every five Rage also grants you 1% increased Movement Speed", - statOrder = { 6873, 10656, 9146 }, - tradeHashes = { [2709367754] = { "Gain 1 Rage on Melee Hit" }, [352044736] = { "Every Rage also grants 1% increased Stun Threshold" }, }, + statOrder = { 6873, 10656 }, + tradeHashes = { [352044736] = { "Every Rage also grants 1% increased Stun Threshold" }, [2709367754] = { "Gain 1 Rage on Melee Hit" }, }, + bonded = { + "Every five Rage also grants you 1% increased Movement Speed", + statOrder = { 9146 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4188,9 +5418,12 @@ return { type = "Rune", "15% increased Area of Effect", "Unwavering Stance", - "Bonded: 50% reduced Slowing Potency of Debuffs on You", - statOrder = { 1630, 10724, 4747 }, - tradeHashes = { [1683578560] = { "Unwavering Stance" }, [280731498] = { "15% increased Area of Effect" }, }, + statOrder = { 1630, 10724 }, + tradeHashes = { [280731498] = { "15% increased Area of Effect" }, [1683578560] = { "Unwavering Stance" }, }, + bonded = { + "50% reduced Slowing Potency of Debuffs on You", + statOrder = { 4747 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4199,9 +5432,12 @@ return { ["helmet"] = { type = "Rune", "Warcries Explode Corpses dealing 10% of their Life as Physical Damage", - "Bonded: Warcry Skills have 20% increased Area of Effect", - statOrder = { 5780, 10514 }, + statOrder = { 5780 }, tradeHashes = { [11014011] = { "Warcries Explode Corpses dealing 10% of their Life as Physical Damage" }, }, + bonded = { + "Warcry Skills have 20% increased Area of Effect", + statOrder = { 10514 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4211,9 +5447,12 @@ return { type = "Rune", "Charms gain 1 charge per Second", "+1 Charm Slot", - "Bonded: Charms gain 0.5 charges per Second", - statOrder = { 6889, 9316, 6889 }, + statOrder = { 6889, 9316 }, tradeHashes = { [185580205] = { "Charms gain 1 charge per Second" }, [554899692] = { "+1 Charm Slot" }, }, + bonded = { + "Charms gain 0.5 charges per Second", + statOrder = { 6889 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4223,9 +5462,12 @@ return { type = "Rune", "100% increased Global Evasion Rating when on Low Life", "5% of Damage from Hits is taken from your Damageable Companion's Life before you", - "Bonded: 5% of Damage from Hits is taken from your Damageable Companion's Life before you", - statOrder = { 2315, 5730, 5730 }, + statOrder = { 2315, 5730 }, tradeHashes = { [1150343007] = { "5% of Damage from Hits is taken from your Damageable Companion's Life before you" }, [2695354435] = { "100% increased Global Evasion Rating when on Low Life" }, }, + bonded = { + "5% of Damage from Hits is taken from your Damageable Companion's Life before you", + statOrder = { 5730 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4234,9 +5476,12 @@ return { ["helmet"] = { type = "Rune", "Pain Attunement", - "Bonded: 17 to 26 Physical Thorns damage", - statOrder = { 10717, 10261 }, + statOrder = { 10717 }, tradeHashes = { [98977150] = { "Pain Attunement" }, }, + bonded = { + "17 to 26 Physical Thorns damage", + statOrder = { 10261 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4245,9 +5490,12 @@ return { ["helmet"] = { type = "Rune", "+50 to all Attributes", - "Bonded: +1 Maximum Life per Level", - statOrder = { 1145, 7470 }, + statOrder = { 1145 }, tradeHashes = { [2897413282] = { "+50 to all Attributes" }, }, + bonded = { + "+1 Maximum Life per Level", + statOrder = { 7470 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4263,11 +5511,14 @@ return { "+5 to all Attributes", "+5% to all Elemental Resistances", "3 Life Regeneration per second", - "Bonded: +20 to Armour", - "Bonded: +20 to Evasion Rating", - "Bonded: +20 to maximum Energy Shield", - statOrder = { 880, 887, 892, 941, 976, 991, 1013, 1034, 881, 883, 885 }, - tradeHashes = { [3325883026] = { "3 Life Regeneration per second" }, [3299347043] = { "+10 to maximum Life" }, [1050105434] = { "+10 to maximum Mana" }, [2901986750] = { "+5% to all Elemental Resistances" }, [1379411836] = { "+5 to all Attributes" }, [587431675] = { "10% increased Critical Hit Chance" }, [3917489142] = { "10% increased Rarity of Items found" }, [803737631] = { "+30 to Accuracy Rating" }, }, + statOrder = { 880, 887, 892, 941, 976, 991, 1013, 1034 }, + tradeHashes = { [803737631] = { "+30 to Accuracy Rating" }, [3299347043] = { "+10 to maximum Life" }, [1050105434] = { "+10 to maximum Mana" }, [1379411836] = { "+5 to all Attributes" }, [3325883026] = { "3 Life Regeneration per second" }, [587431675] = { "10% increased Critical Hit Chance" }, [3917489142] = { "10% increased Rarity of Items found" }, [2901986750] = { "+5% to all Elemental Resistances" }, }, + bonded = { + "+20 to Armour", + "+20 to Evasion Rating", + "+20 to maximum Energy Shield", + statOrder = { 881, 883, 885 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4276,9 +5527,12 @@ return { ["helmet"] = { type = "Rune", "Aggravate Bleeding on targets you Critically Hit with Attacks", - "Bonded: 20% increased Critical Hit Chance", - statOrder = { 4239, 976 }, + statOrder = { 4239 }, tradeHashes = { [2438634449] = { "Aggravate Bleeding on targets you Critically Hit with Attacks" }, }, + bonded = { + "20% increased Critical Hit Chance", + statOrder = { 976 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4287,9 +5541,12 @@ return { ["helmet"] = { type = "Rune", "Deal 4% increased Damage with Hits to Rare or Unique Enemies for each second they've ever been in your Presence, up to a maximum of 200%", - "Bonded: 20% increased Presence Area of Effect", - statOrder = { 10396, 1069 }, + statOrder = { 10396 }, tradeHashes = { [4258409981] = { "Deal 4% increased Damage with Hits to Rare or Unique Enemies for each second they've ever been in your Presence, up to a maximum of 200%" }, }, + bonded = { + "20% increased Presence Area of Effect", + statOrder = { 1069 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4298,9 +5555,12 @@ return { ["gloves"] = { type = "Rune", "Base Critical Hit Chance for Attacks with Weapons is 7%", - "Bonded: 15% increased Critical Damage Bonus", - statOrder = { 9376, 980 }, + statOrder = { 9376 }, tradeHashes = { [2635559734] = { "Base Critical Hit Chance for Attacks with Weapons is 7%" }, }, + bonded = { + "15% increased Critical Damage Bonus", + statOrder = { 980 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4310,9 +5570,12 @@ return { type = "Rune", "40% increased Fire Damage", "Flammability Magnitude is doubled", - "Bonded: 20% increased Ignite Duration on Enemies", - statOrder = { 873, 5546, 1615 }, + statOrder = { 873, 5546 }, tradeHashes = { [1540254896] = { "Flammability Magnitude is doubled" }, [3962278098] = { "40% increased Fire Damage" }, }, + bonded = { + "20% increased Ignite Duration on Enemies", + statOrder = { 1615 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4321,9 +5584,12 @@ return { ["gloves"] = { type = "Rune", "Culling Strike", - "Bonded: Gain 30 Life per enemy killed", - statOrder = { 1775, 1042 }, + statOrder = { 1775 }, tradeHashes = { [2524254339] = { "Culling Strike" }, }, + bonded = { + "Gain 30 Life per enemy killed", + statOrder = { 1042 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4332,9 +5598,12 @@ return { ["boots"] = { type = "Rune", "+10% to Block chance", - "Bonded: 10% reduced Damage taken from Projectile Hits", - statOrder = { 1123, 2511 }, + statOrder = { 1123 }, tradeHashes = { [1702195217] = { "+10% to Block chance" }, }, + bonded = { + "10% reduced Damage taken from Projectile Hits", + statOrder = { 2511 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4343,9 +5612,12 @@ return { ["boots"] = { type = "Rune", "Deal 10% of Overkill damage to enemies within 2 metres of the enemy killed", - "Bonded: 15% increased Global Physical Damage", - statOrder = { 9374, 1185 }, + statOrder = { 9374 }, tradeHashes = { [2301852600] = { "Deal 10% of Overkill damage to enemies within 2 metres of the enemy killed" }, }, + bonded = { + "15% increased Global Physical Damage", + statOrder = { 1185 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4354,9 +5626,12 @@ return { ["boots"] = { type = "Rune", "+15% to Thorns Critical Hit Chance", - "Bonded: 15% increased Thorns Critical Damage Bonus", - statOrder = { 4758, 4759 }, + statOrder = { 4758 }, tradeHashes = { [2715190555] = { "+15% to Thorns Critical Hit Chance" }, }, + bonded = { + "15% increased Thorns Critical Damage Bonus", + statOrder = { 4759 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4365,9 +5640,12 @@ return { ["boots"] = { type = "Rune", "Physical Damage is Pinning", - "Bonded: +20 to Dexterity", - statOrder = { 4735, 993 }, + statOrder = { 4735 }, tradeHashes = { [2041668411] = { "Physical Damage is Pinning" }, }, + bonded = { + "+20 to Dexterity", + statOrder = { 993 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4376,9 +5654,12 @@ return { ["boots"] = { type = "Rune", "Your speed is unaffected by Slows", - "Bonded: 5% increased Movement Speed", - statOrder = { 9937, 836 }, + statOrder = { 9937 }, tradeHashes = { [50721145] = { "Your speed is unaffected by Slows" }, }, + bonded = { + "5% increased Movement Speed", + statOrder = { 836 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4387,9 +5668,12 @@ return { ["boots"] = { type = "Rune", "Iron Reflexes", - "Bonded: 25% increased Elemental Ailment Threshold", - statOrder = { 10711, 4266 }, + statOrder = { 10711 }, tradeHashes = { [326965591] = { "Iron Reflexes" }, }, + bonded = { + "25% increased Elemental Ailment Threshold", + statOrder = { 4266 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4398,10 +5682,13 @@ return { ["boots"] = { type = "Rune", "200% increased Stun Recovery", - "Bonded: 40% reduced Chill Duration on you", - "Bonded: 40% reduced Freeze Duration on you", - statOrder = { 1060, 1064, 1065 }, + statOrder = { 1060 }, tradeHashes = { [2511217560] = { "200% increased Stun Recovery" }, }, + bonded = { + "40% reduced Chill Duration on you", + "40% reduced Freeze Duration on you", + statOrder = { 1064, 1065 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4410,9 +5697,12 @@ return { ["shield"] = { type = "Rune", "Double Stun Threshold while Shield is Raised", - "Bonded: 15% increased Stun Threshold", - statOrder = { 7828, 2983 }, + statOrder = { 7828 }, tradeHashes = { [3686997387] = { "Double Stun Threshold while Shield is Raised" }, }, + bonded = { + "15% increased Stun Threshold", + statOrder = { 2983 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4421,9 +5711,12 @@ return { ["shield"] = { type = "Rune", "Intimidate Enemies on Block for 8 seconds", - "Bonded: +25 to Strength", - statOrder = { 7379, 992 }, + statOrder = { 7379 }, tradeHashes = { [3703496511] = { "Intimidate Enemies on Block for 8 seconds" }, }, + bonded = { + "+25 to Strength", + statOrder = { 992 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4432,9 +5725,12 @@ return { ["shield"] = { type = "Rune", "Gain 1% of damage as Fire damage per 2% Chance to Block", - "Bonded: +30% to Chaos Resistance", - statOrder = { 9234, 1024 }, + statOrder = { 9234 }, tradeHashes = { [3170380905] = { "Gain 1% of damage as Fire damage per 2% Chance to Block" }, }, + bonded = { + "+30% to Chaos Resistance", + statOrder = { 1024 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4443,9 +5739,12 @@ return { ["shield"] = { type = "Rune", "30% of damage Blocked is Recouped as Mana", - "Bonded: 20% of damage Blocked is Recouped as Mana", - statOrder = { 5964, 5964 }, + statOrder = { 5964 }, tradeHashes = { [2875218423] = { "30% of damage Blocked is Recouped as Mana" }, }, + bonded = { + "20% of damage Blocked is Recouped as Mana", + statOrder = { 5964 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4454,9 +5753,12 @@ return { ["shield"] = { type = "Rune", "50% increased Life Regeneration rate", - "Bonded: 50 Life Regeneration per second", - statOrder = { 1036, 1034 }, + statOrder = { 1036 }, tradeHashes = { [44972811] = { "50% increased Life Regeneration rate" }, }, + bonded = { + "50 Life Regeneration per second", + statOrder = { 1034 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4465,9 +5767,12 @@ return { ["buckler"] = { type = "Rune", "50% increased Parried Debuff Magnitude", - "Bonded: 50% increased Parry Damage", - statOrder = { 9379, 9384 }, + statOrder = { 9379 }, tradeHashes = { [818877178] = { "50% increased Parried Debuff Magnitude" }, }, + bonded = { + "50% increased Parry Damage", + statOrder = { 9384 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4476,9 +5781,12 @@ return { ["buckler"] = { type = "Rune", "Curse Enemies with Enfeeble on Block", - "Bonded: 100% increased Block chance against Projectiles", - statOrder = { 5933, 4936 }, + statOrder = { 5933 }, tradeHashes = { [3830953767] = { "Curse Enemies with Enfeeble on Block" }, }, + bonded = { + "100% increased Block chance against Projectiles", + statOrder = { 4936 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4487,9 +5795,12 @@ return { ["one hand mace"] = { type = "Rune", "Causes Double Stun Buildup", - "Bonded: Adds 14 to 20 Physical Damage", - statOrder = { 7695, 1207 }, + statOrder = { 7695 }, tradeHashes = { [769129523] = { "Causes Double Stun Buildup" }, }, + bonded = { + "Adds 14 to 20 Physical Damage", + statOrder = { 1207 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4498,9 +5809,12 @@ return { ["one hand mace"] = { type = "Rune", "Increases and Reductions to Minion Attack Speed also affect you", - "Bonded: +1 to Level of all Minion Skills", - statOrder = { 3428, 972 }, + statOrder = { 3428 }, tradeHashes = { [2293111154] = { "Increases and Reductions to Minion Attack Speed also affect you" }, }, + bonded = { + "+1 to Level of all Minion Skills", + statOrder = { 972 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4510,9 +5824,12 @@ return { type = "Rune", "+200 Intelligence Requirement", "+3 to Level of all Lightning Skills", - "Bonded: +1 to Level of all Lightning Skills", - statOrder = { 820, 962, 962 }, + statOrder = { 820, 962 }, tradeHashes = { [2153364323] = { "+200 Intelligence Requirement" }, [1147690586] = { "+3 to Level of all Lightning Skills" }, }, + bonded = { + "+1 to Level of all Lightning Skills", + statOrder = { 962 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4521,9 +5838,12 @@ return { ["two hand mace"] = { type = "Rune", "Attacks with this Weapon have Added Cold Damage equal to 6% to 10% of maximum Mana", - "Bonded: 15% of Damage is taken from Mana before Life", - statOrder = { 7626, 2472 }, - tradeHashes = { [1699409732] = { "Attacks with this Weapon have Added Cold Damage equal to 0% to 10% of maximum Mana" }, [3867147347] = { "Attacks with this Weapon have Added Cold Damage equal to 6% to 0% of maximum Mana" }, }, + statOrder = { 7626 }, + tradeHashes = { [3867147347] = { "Attacks with this Weapon have Added Cold Damage equal to 6% to 0% of maximum Mana" }, [1699409732] = { "Attacks with this Weapon have Added Cold Damage equal to 0% to 10% of maximum Mana" }, }, + bonded = { + "15% of Damage is taken from Mana before Life", + statOrder = { 2472 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4533,9 +5853,12 @@ return { type = "Rune", "+5% to Critical Hit Chance", "Maim on Critical Hit", - "Bonded: 25% increased Attack Damage against Maimed Enemies", - statOrder = { 944, 7614, 4528 }, + statOrder = { 944, 7614 }, tradeHashes = { [518292764] = { "+5% to Critical Hit Chance" }, [2895144208] = { "Maim on Critical Hit" }, }, + bonded = { + "25% increased Attack Damage against Maimed Enemies", + statOrder = { 4528 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4544,9 +5867,12 @@ return { ["two hand mace"] = { type = "Rune", "25% chance for Slam Skills you use yourself to cause an additional Aftershock", - "Bonded: 15% chance for Slam Skills you use yourself to cause an additional Aftershock", - statOrder = { 10626, 10626 }, + statOrder = { 10626 }, tradeHashes = { [2045949233] = { "25% chance for Slam Skills you use yourself to cause an additional Aftershock" }, }, + bonded = { + "15% chance for Slam Skills you use yourself to cause an additional Aftershock", + statOrder = { 10626 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4555,9 +5881,12 @@ return { ["two hand mace"] = { type = "Rune", "All damage with this Weapon causes Electrocution buildup", - "Bonded: Damage Penetrates 10% Lightning Resistance", - statOrder = { 7609, 2726 }, + statOrder = { 7609 }, tradeHashes = { [1910743684] = { "All damage with this Weapon causes Electrocution buildup" }, }, + bonded = { + "Damage Penetrates 10% Lightning Resistance", + statOrder = { 2726 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4566,9 +5895,12 @@ return { ["wand"] = { type = "Rune", "+2 to Level of all Spell Skills", - "Bonded: Leeches 1% of maximum Life when you Cast a Spell", - statOrder = { 950, 7459 }, + statOrder = { 950 }, tradeHashes = { [124131830] = { "+2 to Level of all Spell Skills" }, }, + bonded = { + "Leeches 1% of maximum Life when you Cast a Spell", + statOrder = { 7459 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4577,9 +5909,12 @@ return { ["quarterstaff"] = { type = "Rune", "Gain 250 Guard for 0.5 seconds per Combo expended when using Skills", - "Bonded: Gain Finality for 0.2 seconds per Combo expended when using Skills", - statOrder = { 10400, 6785 }, + statOrder = { 10400 }, tradeHashes = { [2443032293] = { "Gain 250 Guard for 0.5 seconds per Combo expended when using Skills" }, }, + bonded = { + "Gain Finality for 0.2 seconds per Combo expended when using Skills", + statOrder = { 6785 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4588,9 +5923,12 @@ return { ["spear"] = { type = "Rune", "Strikes deal Splash Damage", - "Bonded: Knocks Enemies Back on Hit", - statOrder = { 1137, 1409 }, + statOrder = { 1137 }, tradeHashes = { [3675300253] = { "Strikes deal Splash Damage" }, }, + bonded = { + "Knocks Enemies Back on Hit", + statOrder = { 1409 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4600,9 +5938,12 @@ return { type = "Rune", "Adds 23 to 34 Fire damage to Attacks", "100% increased Flammability Magnitude", - "Bonded: +2% to Maximum Fire Resistance", - statOrder = { 859, 1055, 1009 }, + statOrder = { 859, 1055 }, tradeHashes = { [2968503605] = { "100% increased Flammability Magnitude" }, [1573130764] = { "Adds 23 to 34 Fire damage to Attacks" }, }, + bonded = { + "+2% to Maximum Fire Resistance", + statOrder = { 1009 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4611,9 +5952,12 @@ return { ["wand"] = { type = "Rune", "+1 to Maximum Power Charges", - "Bonded: +65 to maximum Mana", - statOrder = { 1569, 892 }, + statOrder = { 1569 }, tradeHashes = { [227523295] = { "+1 to Maximum Power Charges" }, }, + bonded = { + "+65 to maximum Mana", + statOrder = { 892 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4622,9 +5966,12 @@ return { ["wand"] = { type = "Rune", "+3 to Level of all Curse Skills", - "Bonded: 35% increased Mana Regeneration Rate", - statOrder = { 971, 1043 }, + statOrder = { 971 }, tradeHashes = { [805298720] = { "+3 to Level of all Curse Skills" }, }, + bonded = { + "35% increased Mana Regeneration Rate", + statOrder = { 1043 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4633,9 +5980,12 @@ return { ["staff"] = { type = "Rune", "Gain 30% of Physical Damage as Extra Fire Damage", - "Bonded: Triggered Spells deal 20% increased Spell Damage", - statOrder = { 1674, 10323 }, + statOrder = { 1674 }, tradeHashes = { [1936645603] = { "Gain 30% of Physical Damage as Extra Fire Damage" }, }, + bonded = { + "Triggered Spells deal 20% increased Spell Damage", + statOrder = { 10323 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4645,9 +5995,12 @@ return { type = "Rune", "Adds 4 to 8 Physical Damage", "Causes Bleeding on Hit", - "Bonded: 10% increased Magnitude of Bleeding you inflict", - statOrder = { 831, 2261, 4809 }, + statOrder = { 831, 2261 }, tradeHashes = { [2091621414] = { "Causes Bleeding on Hit" }, [1940865751] = { "Adds 4 to 8 Physical Damage" }, }, + bonded = { + "10% increased Magnitude of Bleeding you inflict", + statOrder = { 4809 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4657,9 +6010,12 @@ return { type = "Rune", "50% increased Attack Speed", "20% less Attack Damage", - "Bonded: 70% increased Arrow Speed", - statOrder = { 946, 2240, 1552 }, + statOrder = { 946, 2240 }, tradeHashes = { [210067635] = { "50% increased Attack Speed" }, [412462523] = { "20% less Attack Damage" }, }, + bonded = { + "70% increased Arrow Speed", + statOrder = { 1552 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4668,9 +6024,12 @@ return { ["bow"] = { type = "Rune", "Hits with this weapon have 1 to 3 Added Physical Damage per 1% Block Chance", - "Bonded: 3% increased Block chance per 100 total Item Armour on Equipped Armour Items", - statOrder = { 2676, 1134 }, + statOrder = { 2676 }, tradeHashes = { [2036307261] = { "Hits with this weapon have 1 to 3 Added Physical Damage per 1% Block Chance" }, }, + bonded = { + "3% increased Block chance per 100 total Item Armour on Equipped Armour Items", + statOrder = { 1134 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4679,9 +6038,12 @@ return { ["talisman"] = { type = "Rune", "Gain 1 Druidic Prowess for every 20 total Rage spent", - "Bonded: Enemies in your Presence are Hindered", - statOrder = { 6774, 4695 }, + statOrder = { 6774 }, tradeHashes = { [1273508088] = { "Gain 1 Druidic Prowess for every 20 total Rage spent" }, }, + bonded = { + "Enemies in your Presence are Hindered", + statOrder = { 4695 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4690,9 +6052,12 @@ return { ["talisman"] = { type = "Rune", "Every 5 Rage also grants 5% of Damage taken Recouped as Life", - "Bonded: Attacks have 20% chance to cause Bleeding", - statOrder = { 10562, 2270 }, + statOrder = { 10562 }, tradeHashes = { [1895552497] = { "Every 5 Rage also grants 5% of Damage taken Recouped as Life" }, }, + bonded = { + "Attacks have 20% chance to cause Bleeding", + statOrder = { 2270 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4702,9 +6067,12 @@ return { type = "Rune", "Chance to Block Damage is Lucky", "You take 20% of damage from Blocked Hits", - "Bonded: +50 to maximum Runic Ward", - statOrder = { 4662, 4663, 890 }, + statOrder = { 4662, 4663 }, tradeHashes = { [2905515354] = { "You take 20% of damage from Blocked Hits" }, [2957287092] = { "Chance to Block Damage is Lucky" }, }, + bonded = { + "+50 to maximum Runic Ward", + statOrder = { 890 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4715,9 +6083,12 @@ return { "Alternating every 5 seconds:", "Take 20% less Damage from Hits", "Take 20% less Damage over time", - "Bonded: 25% increased Mana Regeneration Rate", - statOrder = { 6965, 6965.1, 6965.2, 1043 }, + statOrder = { 6965, 6965.1, 6965.2 }, tradeHashes = { [258955603] = { "Alternating every 5 seconds:", "Take 20% less Damage from Hits", "Take 20% less Damage over time" }, }, + bonded = { + "25% increased Mana Regeneration Rate", + statOrder = { 1043 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4727,9 +6098,12 @@ return { type = "Rune", "On Hitting an enemy, gains maximum added Lightning damage equal to", "the enemy's Power for 20 seconds, up to a total of 120", - "Bonded: 15% increased Attack Speed", - statOrder = { 7800, 7800.1, 985 }, + statOrder = { 7800, 7800.1 }, tradeHashes = { [3538915253] = { "On Hitting an enemy, gains maximum added Lightning damage equal to", "the enemy's Power for 20 seconds, up to a total of 120" }, }, + bonded = { + "15% increased Attack Speed", + statOrder = { 985 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4738,9 +6112,12 @@ return { ["shield"] = { type = "Rune", "Off-hand Hits inflict Runefather's Challenge", - "Bonded: +45% to Cold Resistance", - statOrder = { 10566, 1020 }, + statOrder = { 10566 }, tradeHashes = { [3430033313] = { "Off-hand Hits inflict Runefather's Challenge" }, }, + bonded = { + "+45% to Cold Resistance", + statOrder = { 1020 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4749,9 +6126,12 @@ return { ["one hand mace"] = { type = "Rune", "Maximum Quality is 40%", - "Bonded: Skills which Empower an Attack have 20% chance to not count that Attack", - statOrder = { 614, 5404 }, + statOrder = { 614 }, tradeHashes = { [275498888] = { "Maximum Quality is 40%" }, }, + bonded = { + "Skills which Empower an Attack have 20% chance to not count that Attack", + statOrder = { 5404 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4760,9 +6140,12 @@ return { ["wand"] = { type = "Rune", "75% increased effect of Socketed Runes", - "Bonded: +100 to maximum Mana", - statOrder = { 176, 892 }, + statOrder = { 176 }, tradeHashes = { [704409219] = { "75% increased effect of Socketed Runes" }, }, + bonded = { + "+100 to maximum Mana", + statOrder = { 892 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4771,9 +6154,12 @@ return { ["gloves"] = { type = "Rune", "+1 to Armour per Strength", - "Bonded: 1% increased Damage per 15 Strength", - statOrder = { 6764, 6000 }, + statOrder = { 6764 }, tradeHashes = { [1291132817] = { "+1 to Armour per Strength" }, }, + bonded = { + "1% increased Damage per 15 Strength", + statOrder = { 6000 }, + }, isSocketBound = false, rank = { 65 }, }, @@ -4782,9 +6168,12 @@ return { ["helmet"] = { type = "Rune", "+1 to maximum Life per 8 Armour on Equipped Helmet", - "Bonded: +20 to Spirit", - statOrder = { 6722, 895 }, + statOrder = { 6722 }, tradeHashes = { [2785209416] = { "+1 to maximum Life per 8 Armour on Equipped Helmet" }, }, + bonded = { + "+20 to Spirit", + statOrder = { 895 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -4792,18 +6181,24 @@ return { type = "Rune", "Gain Maximum Energy Shield equal to 50% of total", "Strength Requirements of Equipped Armour Items", - "Bonded: +20 to Strength", - statOrder = { 6812, 6812.1, 992 }, + statOrder = { 6812, 6812.1 }, tradeHashes = { [2444976134] = { "Gain Maximum Energy Shield equal to 50% of total", "Strength Requirements of Equipped Armour Items" }, }, + bonded = { + "+20 to Strength", + statOrder = { 992 }, + }, isSocketBound = false, rank = { 60 }, }, ["boots"] = { type = "Rune", "Hits against you have no Critical Damage Bonus while on Consecrated Ground", - "Bonded: 20% increased Effect of Consecrated Ground you create", - statOrder = { 9818, 5748 }, + statOrder = { 9818 }, tradeHashes = { [1800433827] = { "Hits against you have no Critical Damage Bonus while on Consecrated Ground" }, }, + bonded = { + "20% increased Effect of Consecrated Ground you create", + statOrder = { 5748 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -4812,9 +6207,12 @@ return { ["body armour"] = { type = "Rune", "15% of Chaos Damage from Hits taken as a Damage of a random Element", - "Bonded: +13% to Chaos Resistance", - statOrder = { 2236, 1024 }, + statOrder = { 2236 }, tradeHashes = { [4217453078] = { "15% of Chaos Damage from Hits taken as a Damage of a random Element" }, }, + bonded = { + "+13% to Chaos Resistance", + statOrder = { 1024 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -4822,18 +6220,24 @@ return { type = "Rune", "Gain 1% of Damage as Extra Damage of a random Element per", "Rune Socketed in Equipped Items", - "Bonded: 20% increased Elemental Damage", - statOrder = { 9261, 9261.1, 1726 }, + statOrder = { 9261, 9261.1 }, tradeHashes = { [3557924960] = { "Gain 1% of Damage as Extra Damage of a random Element per", "Rune Socketed in Equipped Items" }, }, + bonded = { + "20% increased Elemental Damage", + statOrder = { 1726 }, + }, isSocketBound = false, rank = { 60 }, }, ["boots"] = { type = "Rune", "50% increased Runic Ward Regeneration Rate while Sprinting", - "Bonded: 15% increased Runic Ward Cost Efficiency", - statOrder = { 10522, 4763 }, + statOrder = { 10522 }, tradeHashes = { [2441825294] = { "50% increased Runic Ward Regeneration Rate while Sprinting" }, }, + bonded = { + "15% increased Runic Ward Cost Efficiency", + statOrder = { 4763 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -4842,27 +6246,36 @@ return { ["helmet"] = { type = "Rune", "Gain 1 Endurance Charge on reaching Low Life, only once every 2 seconds", - "Bonded: 40% increased Endurance Charge Duration", - statOrder = { 6779, 1864 }, + statOrder = { 6779 }, tradeHashes = { [901336307] = { "Gain 1 Endurance Charge on reaching Low Life, only once every 2 seconds" }, }, + bonded = { + "40% increased Endurance Charge Duration", + statOrder = { 1864 }, + }, isSocketBound = false, rank = { 60 }, }, ["gloves"] = { type = "Rune", "Banners also grant 2% of Life Regenerated per second to affected targets", - "Bonded: Regenerate 0.5% of maximum Life per second", - statOrder = { 4657, 1691 }, + statOrder = { 4657 }, tradeHashes = { [119336587] = { "Banners also grant 2% of Life Regenerated per second to affected targets" }, }, + bonded = { + "Regenerate 0.5% of maximum Life per second", + statOrder = { 1691 }, + }, isSocketBound = false, rank = { 60 }, }, ["boots"] = { type = "Rune", "When you stop Sprinting, gain Guard equal to 4% of maximum Life per second spent Sprinting, up to a maximum of 20%, for 4 seconds", - "Bonded: 20% increased Guard gained", - statOrder = { 6804, 6951 }, + statOrder = { 6804 }, tradeHashes = { [293832783] = { "When you stop Sprinting, gain Guard equal to 4% of maximum Life per second spent Sprinting, up to a maximum of 20%, for 4 seconds" }, }, + bonded = { + "20% increased Guard gained", + statOrder = { 6951 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -4871,27 +6284,36 @@ return { ["helmet"] = { type = "Rune", "Targets that are Blinded, Maimed, and Bleeding cannot Evade your Hits", - "Bonded: 30% increased Immobilisation buildup", - statOrder = { 7212, 7193 }, + statOrder = { 7212 }, tradeHashes = { [2889034188] = { "Targets that are Blinded, Maimed, and Bleeding cannot Evade your Hits" }, }, + bonded = { + "30% increased Immobilisation buildup", + statOrder = { 7193 }, + }, isSocketBound = false, rank = { 60 }, }, ["gloves"] = { type = "Rune", "Regenerate 5% of maximum Life per Second if you have used a Command Skill Recently", - "Bonded: 20% increased Life Regeneration rate", - statOrder = { 7487, 1036 }, + statOrder = { 7487 }, tradeHashes = { [445996047] = { "Regenerate 5% of maximum Life per Second if you have used a Command Skill Recently" }, }, + bonded = { + "20% increased Life Regeneration rate", + statOrder = { 1036 }, + }, isSocketBound = false, rank = { 60 }, }, ["body armour"] = { type = "Rune", "Thorns Damage is Lucky against targets with Fully Broken Armour", - "Bonded: 30% increased Thorns damage", - statOrder = { 10253, 10254 }, + statOrder = { 10253 }, tradeHashes = { [1871622140] = { "Thorns Damage is Lucky against targets with Fully Broken Armour" }, }, + bonded = { + "30% increased Thorns damage", + statOrder = { 10254 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -4900,18 +6322,24 @@ return { ["gloves"] = { type = "Idol", "8% increased Attack Speed", - "Bonded: 20% reduced Slowing Potency of Debuffs on You", - statOrder = { 985, 4747 }, + statOrder = { 985 }, tradeHashes = { [681332047] = { "8% increased Attack Speed" }, }, + bonded = { + "20% reduced Slowing Potency of Debuffs on You", + statOrder = { 4747 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence have 8% increased Movement Speed", - "Bonded: 4% increased Movement Speed", - statOrder = { 4287, 836 }, + statOrder = { 4287 }, tradeHashes = { [632743438] = { "Allies in your Presence have 8% increased Movement Speed" }, }, + bonded = { + "4% increased Movement Speed", + statOrder = { 836 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -4921,18 +6349,24 @@ return { type = "Idol", "25% reduced Poison Duration", "Targets can be affected by +1 of your Poisons at the same time", - "Bonded: Gain 13% of Physical Damage as extra Chaos Damage", - statOrder = { 2896, 9327, 1677 }, + statOrder = { 2896, 9327 }, tradeHashes = { [1755296234] = { "Targets can be affected by +1 of your Poisons at the same time" }, [2011656677] = { "25% reduced Poison Duration" }, }, + bonded = { + "Gain 13% of Physical Damage as extra Chaos Damage", + statOrder = { 1677 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence deal 13 to 27 added Attack Chaos Damage", - "Bonded: 15% increased Withered Magnitude", - statOrder = { 911, 10556 }, + statOrder = { 911 }, tradeHashes = { [262946222] = { "Allies in your Presence deal 13 to 27 added Attack Chaos Damage" }, }, + bonded = { + "15% increased Withered Magnitude", + statOrder = { 10556 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -4941,18 +6375,24 @@ return { ["boots"] = { type = "Idol", "50% increased total Power counted by Warcries", - "Bonded: 30% increased Glory generation", - statOrder = { 10512, 6914 }, + statOrder = { 10512 }, tradeHashes = { [2663359259] = { "50% increased total Power counted by Warcries" }, }, + bonded = { + "30% increased Glory generation", + statOrder = { 6914 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "15% increased Damage per each different Companion in your Presence", - "Bonded: 15% increased Reservation Efficiency of Companion Skills", - statOrder = { 5953, 9764 }, + statOrder = { 5953 }, tradeHashes = { [3151560620] = { "15% increased Damage per each different Companion in your Presence" }, }, + bonded = { + "15% increased Reservation Efficiency of Companion Skills", + statOrder = { 9764 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -4961,18 +6401,24 @@ return { ["helmet"] = { type = "Idol", "15% increased Cost Efficiency", - "Bonded: Meta Skills have 15% increased Reservation Efficiency", - statOrder = { 4743, 9766 }, + statOrder = { 4743 }, tradeHashes = { [263495202] = { "15% increased Cost Efficiency" }, }, + bonded = { + "Meta Skills have 15% increased Reservation Efficiency", + statOrder = { 9766 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "15% increased Mana Recovery rate while your Companion is in your Presence", - "Bonded: 8% increased Life Recovery Rate while your Companion is in your Presence", - statOrder = { 7996, 7485 }, + statOrder = { 7996 }, tradeHashes = { [1779262102] = { "15% increased Mana Recovery rate while your Companion is in your Presence" }, }, + bonded = { + "8% increased Life Recovery Rate while your Companion is in your Presence", + statOrder = { 7485 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -4981,18 +6427,24 @@ return { ["helmet"] = { type = "Idol", "Enemies you Curse take 6% increased Damage", - "Bonded: 20% increased Area of Effect of Curses", - statOrder = { 3433, 1950 }, + statOrder = { 3433 }, tradeHashes = { [1984310483] = { "Enemies you Curse take 6% increased Damage" }, }, + bonded = { + "20% increased Area of Effect of Curses", + statOrder = { 1950 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "20% increased Curse Duration", - "Bonded: Curse zones erupt after 20% reduced delay", - statOrder = { 1540, 4678 }, + statOrder = { 1540 }, tradeHashes = { [3824372849] = { "20% increased Curse Duration" }, }, + bonded = { + "Curse zones erupt after 20% reduced delay", + statOrder = { 4678 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5001,18 +6453,24 @@ return { ["body armour"] = { type = "Idol", "+1 Charm Slot", - "Bonded: Storm Skills have +1 to Limit", - statOrder = { 9316, 10110 }, + statOrder = { 9316 }, tradeHashes = { [554899692] = { "+1 Charm Slot" }, }, + bonded = { + "Storm Skills have +1 to Limit", + statOrder = { 10110 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Flasks gain 0.2 charges per Second", - "Bonded: 20% increased Life and Mana Recovery from Flasks", - statOrder = { 6888, 6644 }, + statOrder = { 6888 }, tradeHashes = { [731781020] = { "Flasks gain 0.2 charges per Second" }, }, + bonded = { + "20% increased Life and Mana Recovery from Flasks", + statOrder = { 6644 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5021,18 +6479,24 @@ return { ["helmet"] = { type = "Idol", "8% increased Reservation Efficiency of Minion Skills", - "Bonded: Minions Revive 8% faster", - statOrder = { 9767, 9085 }, + statOrder = { 9767 }, tradeHashes = { [1805633363] = { "8% increased Reservation Efficiency of Minion Skills" }, }, + bonded = { + "Minions Revive 8% faster", + statOrder = { 9085 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "40% increased Armour, Evasion and Energy Shield while your Companion is in your Presence", - "Bonded: Companions have 25% increased maximum Life", - statOrder = { 6904, 5726 }, + statOrder = { 6904 }, tradeHashes = { [2829985691] = { "40% increased Armour, Evasion and Energy Shield while your Companion is in your Presence" }, }, + bonded = { + "Companions have 25% increased maximum Life", + statOrder = { 5726 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5041,18 +6505,24 @@ return { ["gloves"] = { type = "Idol", "8% increased Curse Magnitudes", - "Bonded: Remnants you create have 15% increased effect", - statOrder = { 2376, 9736 }, + statOrder = { 2376 }, tradeHashes = { [2353576063] = { "8% increased Curse Magnitudes" }, }, + bonded = { + "Remnants you create have 15% increased effect", + statOrder = { 9736 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence have 10% increased Attack Speed", - "Bonded: 10% increased Skill Speed while Shapeshifted", - statOrder = { 918, 9916 }, + statOrder = { 918 }, tradeHashes = { [1998951374] = { "Allies in your Presence have 10% increased Attack Speed" }, }, + bonded = { + "10% increased Skill Speed while Shapeshifted", + statOrder = { 9916 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5061,18 +6531,24 @@ return { ["helmet"] = { type = "Idol", "Minions have 15% increased maximum Life", - "Bonded: Remnants can be collected from 30% further away", - statOrder = { 1026, 9738 }, + statOrder = { 1026 }, tradeHashes = { [770672621] = { "Minions have 15% increased maximum Life" }, }, + bonded = { + "Remnants can be collected from 30% further away", + statOrder = { 9738 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence deal 40% increased Damage", - "Bonded: 40% increased Damage while Shapeshifted", - statOrder = { 906, 5962 }, + statOrder = { 906 }, tradeHashes = { [1798257884] = { "Allies in your Presence deal 40% increased Damage" }, }, + bonded = { + "40% increased Damage while Shapeshifted", + statOrder = { 5962 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5081,18 +6557,24 @@ return { ["focus"] = { type = "Idol", "12% increased Cooldown Recovery Rate", - "Bonded: 20% increased effect of Archon Buffs on you", - statOrder = { 4677, 4345 }, + statOrder = { 4677 }, tradeHashes = { [1004011302] = { "12% increased Cooldown Recovery Rate" }, }, + bonded = { + "20% increased effect of Archon Buffs on you", + statOrder = { 4345 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence have 10% increased Cast Speed", - "Bonded: 10% increased Skill Speed while Shapeshifted", - statOrder = { 919, 9916 }, + statOrder = { 919 }, tradeHashes = { [289128254] = { "Allies in your Presence have 10% increased Cast Speed" }, }, + bonded = { + "10% increased Skill Speed while Shapeshifted", + statOrder = { 9916 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5101,18 +6583,24 @@ return { ["gloves"] = { type = "Idol", "25% increased Accuracy Rating", - "Bonded: 30% increased Charm Charges gained", - statOrder = { 1332, 5605 }, + statOrder = { 1332 }, tradeHashes = { [624954515] = { "25% increased Accuracy Rating" }, }, + bonded = { + "30% increased Charm Charges gained", + statOrder = { 5605 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence have 14% increased Critical Hit Chance", - "Bonded: 25% increased Critical Hit Chance while Shapeshifted", - statOrder = { 916, 5835 }, + statOrder = { 916 }, tradeHashes = { [1250712710] = { "Allies in your Presence have 14% increased Critical Hit Chance" }, }, + bonded = { + "25% increased Critical Hit Chance while Shapeshifted", + statOrder = { 5835 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5121,18 +6609,24 @@ return { ["gloves"] = { type = "Idol", "15% increased Magnitude of Bleeding you inflict", - "Bonded: 25% reduced Magnitude of Bleeding on You", - statOrder = { 4809, 4661 }, + statOrder = { 4809 }, tradeHashes = { [3166958180] = { "15% increased Magnitude of Bleeding you inflict" }, }, + bonded = { + "25% reduced Magnitude of Bleeding on You", + statOrder = { 4661 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence have 20% increased Critical Damage Bonus", - "Bonded: 25% increased Critical Hit Chance while Shapeshifted", - statOrder = { 917, 5835 }, + statOrder = { 917 }, tradeHashes = { [3057012405] = { "Allies in your Presence have 20% increased Critical Damage Bonus" }, }, + bonded = { + "25% increased Critical Hit Chance while Shapeshifted", + statOrder = { 5835 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5141,18 +6635,24 @@ return { ["helmet"] = { type = "Idol", "Projectiles have 15% chance to Fork", - "Bonded: Projectiles have 25% chance for an additional Projectile when Forking", - statOrder = { 9544, 5515 }, + statOrder = { 9544 }, tradeHashes = { [1549287843] = { "Projectiles have 15% chance to Fork" }, }, + bonded = { + "Projectiles have 25% chance for an additional Projectile when Forking", + statOrder = { 5515 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence deal 1 to 40 added Attack Lightning Damage", - "Bonded: 40% increased Attack Damage while Shapeshifted", - statOrder = { 910, 4519 }, + statOrder = { 910 }, tradeHashes = { [2854751904] = { "Allies in your Presence deal 1 to 40 added Attack Lightning Damage" }, }, + bonded = { + "40% increased Attack Damage while Shapeshifted", + statOrder = { 4519 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5161,18 +6661,24 @@ return { ["gloves"] = { type = "Idol", "Gain 1 Rage on Melee Hit", - "Bonded: 25% increased Warcry Cooldown Recovery Rate", - statOrder = { 6873, 3035 }, + statOrder = { 6873 }, tradeHashes = { [2709367754] = { "Gain 1 Rage on Melee Hit" }, }, + bonded = { + "25% increased Warcry Cooldown Recovery Rate", + statOrder = { 3035 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence Regenerate 0.5% of your Maximum Life per second", - "Bonded: 25% increased Life Regeneration rate while Shapeshifted", - statOrder = { 923, 7504 }, + statOrder = { 923 }, tradeHashes = { [1911097163] = { "Allies in your Presence Regenerate 0.5% of your Maximum Life per second" }, }, + bonded = { + "25% increased Life Regeneration rate while Shapeshifted", + statOrder = { 7504 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5181,18 +6687,24 @@ return { ["helmet"] = { type = "Idol", "10% increased Area of Effect", - "Bonded: 12% increased Reservation Efficiency of Companion Skills", - statOrder = { 1630, 9764 }, + statOrder = { 1630 }, tradeHashes = { [280731498] = { "10% increased Area of Effect" }, }, + bonded = { + "12% increased Reservation Efficiency of Companion Skills", + statOrder = { 9764 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence deal 12 to 18 added Attack Physical Damage", - "Bonded: 40% increased Attack Damage while Shapeshifted", - statOrder = { 907, 4519 }, + statOrder = { 907 }, tradeHashes = { [1574590649] = { "Allies in your Presence deal 12 to 18 added Attack Physical Damage" }, }, + bonded = { + "40% increased Attack Damage while Shapeshifted", + statOrder = { 4519 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5201,27 +6713,36 @@ return { ["shield"] = { type = "Idol", "15% increased Block chance", - "Bonded: 15% chance for Damage of Enemies Hitting you to be Unlucky", - statOrder = { 839, 6403 }, + statOrder = { 839 }, tradeHashes = { [2481353198] = { "15% increased Block chance" }, }, + bonded = { + "15% chance for Damage of Enemies Hitting you to be Unlucky", + statOrder = { 6403 }, + }, isSocketBound = false, rank = { 0 }, }, ["buckler"] = { type = "Idol", "15% increased Block chance", - "Bonded: 15% chance for Damage of Enemies Hitting you to be Unlucky", - statOrder = { 839, 6403 }, + statOrder = { 839 }, tradeHashes = { [2481353198] = { "15% increased Block chance" }, }, + bonded = { + "15% chance for Damage of Enemies Hitting you to be Unlucky", + statOrder = { 6403 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence have +12% to all Elemental Resistances", - "Bonded: +20% of Armour also applies to Elemental Damage while Shapeshifted", - statOrder = { 920, 10564 }, + statOrder = { 920 }, tradeHashes = { [3850614073] = { "Allies in your Presence have +12% to all Elemental Resistances" }, }, + bonded = { + "+20% of Armour also applies to Elemental Damage while Shapeshifted", + statOrder = { 10564 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5230,18 +6751,24 @@ return { ["body armour"] = { type = "Idol", "12% increased Rarity of Items found", - "Bonded: 10% increased Quantity of Gold Dropped by Slain Enemies", - statOrder = { 941, 6917 }, + statOrder = { 941 }, tradeHashes = { [3917489142] = { "12% increased Rarity of Items found" }, }, + bonded = { + "10% increased Quantity of Gold Dropped by Slain Enemies", + statOrder = { 6917 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "15% increased Spirit", - "Bonded: Minions have 30% increased Cooldown Recovery Rate for Command Skills", - statOrder = { 857, 9024 }, + statOrder = { 857 }, tradeHashes = { [3984865854] = { "15% increased Spirit" }, }, + bonded = { + "Minions have 30% increased Cooldown Recovery Rate for Command Skills", + statOrder = { 9024 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5250,18 +6777,24 @@ return { ["body armour"] = { type = "Idol", "Idols socketed in this item gain the benefits of their Bonded modifiers", - "Bonded: +5% to Quality of all Skills", - statOrder = { 7733, 975 }, - tradeHashes = { [3843204282] = { "" }, [726496846] = { "Idols socketed in this item gain the benefits of their Bonded modifiers" }, }, + statOrder = { 7733 }, + tradeHashes = { [726496846] = { "Idols socketed in this item gain the benefits of their Bonded modifiers" }, [3843204282] = { "" }, }, + bonded = { + "+5% to Quality of all Skills", + statOrder = { 975 }, + }, isSocketBound = false, rank = { 0 }, }, ["sceptre"] = { type = "Idol", "50% increased Presence Area of Effect", - "Bonded: Minions have 30% increased Area of Effect", - statOrder = { 1069, 2759 }, + statOrder = { 1069 }, tradeHashes = { [101878827] = { "50% increased Presence Area of Effect" }, }, + bonded = { + "Minions have 30% increased Area of Effect", + statOrder = { 2759 }, + }, isSocketBound = false, rank = { 0 }, }, @@ -5270,27 +6803,36 @@ return { ["shield"] = { type = "Idol", "+25% of Armour also applies to Elemental Damage", - "Bonded: 12% increased Damage for each type of Elemental Ailment on Enemy", - statOrder = { 1027, 5954 }, + statOrder = { 1027 }, tradeHashes = { [3362812763] = { "+25% of Armour also applies to Elemental Damage" }, }, + bonded = { + "12% increased Damage for each type of Elemental Ailment on Enemy", + statOrder = { 5954 }, + }, isSocketBound = false, rank = { 50 }, }, ["buckler"] = { type = "Idol", "Gain Deflection Rating equal to 20% of Evasion Rating", - "Bonded: 12% increased Damage for each type of Elemental Ailment on Enemy", - statOrder = { 1028, 5954 }, + statOrder = { 1028 }, tradeHashes = { [3033371881] = { "Gain Deflection Rating equal to 20% of Evasion Rating" }, }, + bonded = { + "12% increased Damage for each type of Elemental Ailment on Enemy", + statOrder = { 5954 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Companions deal 10% more Damage for each different type of dead Companion you have", - "Bonded: Recover 3% of maximum Life when one of your Minions is Revived", - statOrder = { 5719, 10596 }, + statOrder = { 5719 }, tradeHashes = { [2882351629] = { "Companions deal 10% more Damage for each different type of dead Companion you have" }, }, + bonded = { + "Recover 3% of maximum Life when one of your Minions is Revived", + statOrder = { 10596 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5299,18 +6841,24 @@ return { ["boots"] = { type = "Idol", "30% increased Skill Effect Duration with Plant Skills", - "Bonded: Plants have a 25% chance to immediately Overgrow when they enter your Presence for the first time", - statOrder = { 9487, 5365 }, + statOrder = { 9487 }, tradeHashes = { [4065951768] = { "30% increased Skill Effect Duration with Plant Skills" }, }, + bonded = { + "Plants have a 25% chance to immediately Overgrow when they enter your Presence for the first time", + statOrder = { 5365 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Plants have a 25% chance to immediately Overgrow when they enter your Presence for the first time", - "Bonded: 30% increased Skill Effect Duration with Plant Skills", - statOrder = { 5365, 9487 }, + statOrder = { 5365 }, tradeHashes = { [2681952497] = { "Plants have a 25% chance to immediately Overgrow when they enter your Presence for the first time" }, }, + bonded = { + "30% increased Skill Effect Duration with Plant Skills", + statOrder = { 9487 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5319,18 +6867,24 @@ return { ["body armour"] = { type = "Idol", "Skills have 10% chance to not remove Charges but still count as consuming them", - "Bonded: 15% chance for Charms you use to not consume Charges", - statOrder = { 5603, 5634 }, + statOrder = { 5603 }, tradeHashes = { [2942439603] = { "Skills have 10% chance to not remove Charges but still count as consuming them" }, }, + bonded = { + "15% chance for Charms you use to not consume Charges", + statOrder = { 5634 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Allies in your Presence share Charges with you", - "Bonded: 25% increased Endurance, Frenzy and Power Charge Duration", - statOrder = { 4290, 2761 }, + statOrder = { 4290 }, tradeHashes = { [3329501096] = { "Allies in your Presence share Charges with you" }, }, + bonded = { + "25% increased Endurance, Frenzy and Power Charge Duration", + statOrder = { 2761 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5339,18 +6893,24 @@ return { ["boots"] = { type = "Idol", "15% chance when you gain an Endurance Charge to gain an additional Endurance Charge", - "Bonded: +1 to Maximum Endurance Charges", - statOrder = { 5519, 1559 }, + statOrder = { 5519 }, tradeHashes = { [1228682002] = { "15% chance when you gain an Endurance Charge to gain an additional Endurance Charge" }, }, + bonded = { + "+1 to Maximum Endurance Charges", + statOrder = { 1559 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "If you would gain an Endurance Charge, Allies in your Presence gain that Charge instead", - "Bonded: 40% increased Armour if you've consumed an Endurance Charge Recently", - statOrder = { 2010, 4387 }, + statOrder = { 2010 }, tradeHashes = { [1881314095] = { "If you would gain an Endurance Charge, Allies in your Presence gain that Charge instead" }, }, + bonded = { + "40% increased Armour if you've consumed an Endurance Charge Recently", + statOrder = { 4387 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5359,18 +6919,24 @@ return { ["helmet"] = { type = "Idol", "15% chance when you gain a Power Charge to gain an additional Power Charge", - "Bonded: +1 to Maximum Power Charges", - statOrder = { 5521, 1569 }, + statOrder = { 5521 }, tradeHashes = { [3537994888] = { "15% chance when you gain a Power Charge to gain an additional Power Charge" }, }, + bonded = { + "+1 to Maximum Power Charges", + statOrder = { 1569 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "If you would gain a Power Charge, Allies in your Presence gain that Charge instead", - "Bonded: 40% increased maximum Energy Shield if you've consumed a Power Charge Recently", - statOrder = { 2012, 6417 }, + statOrder = { 2012 }, tradeHashes = { [4226127445] = { "If you would gain a Power Charge, Allies in your Presence gain that Charge instead" }, }, + bonded = { + "40% increased maximum Energy Shield if you've consumed a Power Charge Recently", + statOrder = { 6417 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5379,18 +6945,24 @@ return { ["gloves"] = { type = "Idol", "15% chance when you gain a Frenzy Charge to gain an additional Frenzy Charge", - "Bonded: +1 to Maximum Frenzy Charges", - statOrder = { 5520, 1564 }, + statOrder = { 5520 }, tradeHashes = { [2916861134] = { "15% chance when you gain a Frenzy Charge to gain an additional Frenzy Charge" }, }, + bonded = { + "+1 to Maximum Frenzy Charges", + statOrder = { 1564 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "If you would gain a Frenzy Charge, Allies in your Presence gain that Charge instead", - "Bonded: 40% increased Evasion Rating if you've consumed a Frenzy Charge Recently", - statOrder = { 2011, 6488 }, + statOrder = { 2011 }, tradeHashes = { [2211478554] = { "If you would gain a Frenzy Charge, Allies in your Presence gain that Charge instead" }, }, + bonded = { + "40% increased Evasion Rating if you've consumed a Frenzy Charge Recently", + statOrder = { 6488 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5399,26 +6971,34 @@ return { ["shield"] = { type = "Idol", "15% increased Block chance while your Companion is in your Presence", - "Bonded: +3% to maximum Block chance", - statOrder = { 4939, 1734 }, + statOrder = { 4939 }, tradeHashes = { [3087034595] = { "15% increased Block chance while your Companion is in your Presence" }, }, + bonded = { + "+3% to maximum Block chance", + statOrder = { 1734 }, + }, isSocketBound = false, rank = { 50 }, }, ["buckler"] = { type = "Idol", - "Bonded: 30% increased Parry Range", - statOrder = { 4152 }, tradeHashes = { [2057883179] = { "" }, }, + bonded = { + "30% increased Parry Range", + statOrder = { 4152 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Companions in your Presence gain 1 Rage on hit", - "Bonded: Companions have 30% increased Area of Effect", - statOrder = { 5739, 5715 }, + statOrder = { 5739 }, tradeHashes = { [2652394701] = { "Companions in your Presence gain 1 Rage on hit" }, }, + bonded = { + "Companions have 30% increased Area of Effect", + statOrder = { 5715 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5428,10 +7008,13 @@ return { type = "Idol", "-20% to all Elemental Resistances", "Gain 20% of Damage as Extra Damage of a random Element", - "Bonded: -20% to Chaos Resistance", - "Bonded: Gain 20% of Damage as Extra Chaos Damage", - statOrder = { 1013, 9260, 1024, 1672 }, + statOrder = { 1013, 9260 }, tradeHashes = { [3617669804] = { "Gain 20% of Damage as Extra Damage of a random Element" }, [2901986750] = { "-20% to all Elemental Resistances" }, }, + bonded = { + "-20% to Chaos Resistance", + "Gain 20% of Damage as Extra Chaos Damage", + statOrder = { 1024, 1672 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5439,10 +7022,13 @@ return { type = "Idol", "Companions in your Presence have -20% to all Elemental Resistances", "Companions in your Presence Gain 20% of Damage as Extra Damage of a random Element", - "Bonded: Allies in your Presence Gain 20% of Damage as Extra Chaos Damage", - "Bonded: Companions in your Presence have -20% to Chaos Resistance", - statOrder = { 5737, 5742, 4288, 5736 }, - tradeHashes = { [1539508682] = { "Companions in your Presence have -20% to all Elemental Resistances" }, [4200448078] = { "Companions in your Presence Gain 20% of Damage as Extra Damage of a random Element" }, }, + statOrder = { 5737, 5742 }, + tradeHashes = { [4200448078] = { "Companions in your Presence Gain 20% of Damage as Extra Damage of a random Element" }, [1539508682] = { "Companions in your Presence have -20% to all Elemental Resistances" }, }, + bonded = { + "Allies in your Presence Gain 20% of Damage as Extra Chaos Damage", + "Companions in your Presence have -20% to Chaos Resistance", + statOrder = { 4288, 5736 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5452,10 +7038,13 @@ return { type = "Idol", "25% reduced Spirit", "Meta Skills gain 40% increased Energy", - "Bonded: Invocated skills have 25% increased Maximum Energy", - "Bonded: Meta Skills have 25% reduced Reservation Efficiency", - statOrder = { 1417, 6410, 7385, 9766 }, + statOrder = { 1417, 6410 }, tradeHashes = { [4236566306] = { "Meta Skills gain 40% increased Energy" }, [1416406066] = { "25% reduced Spirit" }, }, + bonded = { + "Invocated skills have 25% increased Maximum Energy", + "Meta Skills have 25% reduced Reservation Efficiency", + statOrder = { 7385, 9766 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5463,10 +7052,13 @@ return { type = "Idol", "40% reduced Presence Area of Effect", "Aura Skills have 25% increased Magnitudes", - "Bonded: Allies in your Presence Regenerate 3% of your Maximum Life per second", - "Bonded: 25% reduced Life Regeneration rate", - statOrder = { 1069, 2574, 923, 1036 }, - tradeHashes = { [101878827] = { "40% reduced Presence Area of Effect" }, [315791320] = { "Aura Skills have 25% increased Magnitudes" }, }, + statOrder = { 1069, 2574 }, + tradeHashes = { [315791320] = { "Aura Skills have 25% increased Magnitudes" }, [101878827] = { "40% reduced Presence Area of Effect" }, }, + bonded = { + "Allies in your Presence Regenerate 3% of your Maximum Life per second", + "25% reduced Life Regeneration rate", + statOrder = { 923, 1036 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5476,10 +7068,13 @@ return { type = "Idol", "30% reduced maximum Mana", "Gain 2% of Damage as Extra Physical Damage per ten percent missing Mana", - "Bonded: 30% reduced Mana Cost Efficiency", - "Bonded: 12% increased Skill Speed while on Low Mana", - statOrder = { 894, 9259, 4718, 9915 }, - tradeHashes = { [2748665614] = { "30% reduced maximum Mana" }, [1693515857] = { "Gain 2% of Damage as Extra Physical Damage per ten percent missing Mana" }, }, + statOrder = { 894, 9259 }, + tradeHashes = { [1693515857] = { "Gain 2% of Damage as Extra Physical Damage per ten percent missing Mana" }, [2748665614] = { "30% reduced maximum Mana" }, }, + bonded = { + "30% reduced Mana Cost Efficiency", + "12% increased Skill Speed while on Low Mana", + statOrder = { 4718, 9915 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5487,10 +7082,13 @@ return { type = "Idol", "30% reduced Mana Cost Efficiency of Command Skills", "Minions deal 60% increased Damage with Command Skills", - "Bonded: 25% reduced Reservation Efficiency of Minion Skills", - "Bonded: Temporary Minion Skills have +2 to Limit of Minions summoned", - statOrder = { 4719, 9027, 9767, 10247 }, + statOrder = { 4719, 9027 }, tradeHashes = { [3742865955] = { "Minions deal 60% increased Damage with Command Skills" }, [553018427] = { "30% reduced Mana Cost Efficiency of Command Skills" }, }, + bonded = { + "25% reduced Reservation Efficiency of Minion Skills", + "Temporary Minion Skills have +2 to Limit of Minions summoned", + statOrder = { 9767, 10247 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5499,18 +7097,24 @@ return { ["body armour"] = { type = "Idol", "+10% of Armour also applies to Chaos Damage", - "Bonded: +8% to Chaos Resistance", - statOrder = { 4645, 1024 }, + statOrder = { 4645 }, tradeHashes = { [3972229254] = { "+10% of Armour also applies to Chaos Damage" }, }, + bonded = { + "+8% to Chaos Resistance", + statOrder = { 1024 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Minions have +20% to Chaos Resistance", - "Bonded: Minions have 20% additional Physical Damage Reduction", - statOrder = { 2668, 2022 }, + statOrder = { 2668 }, tradeHashes = { [3837707023] = { "Minions have +20% to Chaos Resistance" }, }, + bonded = { + "Minions have 20% additional Physical Damage Reduction", + statOrder = { 2022 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5519,18 +7123,24 @@ return { ["body armour"] = { type = "Idol", "10% increased Deflection Rating", - "Bonded: +12% to Cold Resistance", - statOrder = { 6119, 1020 }, + statOrder = { 6119 }, tradeHashes = { [3040571529] = { "10% increased Deflection Rating" }, }, + bonded = { + "+12% to Cold Resistance", + statOrder = { 1020 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Companions have 12% increased Attack Speed", - "Bonded: 8% increased Attack Speed while your Companion is in your Presence", - statOrder = { 5716, 4556 }, + statOrder = { 5716 }, tradeHashes = { [666077204] = { "Companions have 12% increased Attack Speed" }, }, + bonded = { + "8% increased Attack Speed while your Companion is in your Presence", + statOrder = { 4556 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5539,18 +7149,24 @@ return { ["body armour"] = { type = "Idol", "5% of Damage taken bypasses Energy Shield", - "Bonded: +12% to Lightning Resistance", - statOrder = { 1456, 1023 }, + statOrder = { 1456 }, tradeHashes = { [2448633171] = { "5% of Damage taken bypasses Energy Shield" }, }, + bonded = { + "+12% to Lightning Resistance", + statOrder = { 1023 }, + }, isSocketBound = false, rank = { 50 }, }, ["sceptre"] = { type = "Idol", "Companions have 25% increased maximum Life", - "Bonded: 25% increased Damage while your Companion is in your Presence", - statOrder = { 5726, 5961 }, + statOrder = { 5726 }, tradeHashes = { [1805182458] = { "Companions have 25% increased maximum Life" }, }, + bonded = { + "25% increased Damage while your Companion is in your Presence", + statOrder = { 5961 }, + }, isSocketBound = false, rank = { 50 }, }, @@ -5559,9 +7175,12 @@ return { ["helmet"] = { type = "Idol", "Enemies which are on Full Life cannot Evade your Hits", - "Bonded: 30% increased Accuracy Rating", - statOrder = { 5305, 1332 }, + statOrder = { 5305 }, tradeHashes = { [4111745607] = { "Enemies which are on Full Life cannot Evade your Hits" }, }, + bonded = { + "30% increased Accuracy Rating", + statOrder = { 1332 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -5569,18 +7188,24 @@ return { type = "Idol", "Prevent +5% of Damage from Deflected Hits if you've", "Deflected no Hits Recently", - "Bonded: 8% increased Deflection Rating", - statOrder = { 4680, 4680.1, 6119 }, + statOrder = { 4680, 4680.1 }, tradeHashes = { [967155385] = { "Prevent +5% of Damage from Deflected Hits if you've", "Deflected no Hits Recently" }, }, + bonded = { + "8% increased Deflection Rating", + statOrder = { 6119 }, + }, isSocketBound = false, rank = { 60 }, }, ["boots"] = { type = "Idol", "Gain Onslaught for 4 seconds when your Marks Activate", - "Bonded: Buffs on you expire 10% slower", - statOrder = { 6825, 5240 }, + statOrder = { 6825 }, tradeHashes = { [1811977226] = { "Gain Onslaught for 4 seconds when your Marks Activate" }, }, + bonded = { + "Buffs on you expire 10% slower", + statOrder = { 5240 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -5589,27 +7214,36 @@ return { ["body armour"] = { type = "Idol", "+3 to Spirit per Idol socketed in your Equipment", - "Bonded: 5% increased Spirit", - statOrder = { 4754, 1417 }, + statOrder = { 4754 }, tradeHashes = { [1073847159] = { "+3 to Spirit per Idol socketed in your Equipment" }, }, + bonded = { + "5% increased Spirit", + statOrder = { 1417 }, + }, isSocketBound = false, rank = { 60 }, }, ["gloves"] = { type = "Idol", "Companions gain Onslaught for 4 seconds on Hitting your Marked targets", - "Bonded: Companions deal 30% increased Damage", - statOrder = { 5733, 5722 }, + statOrder = { 5733 }, tradeHashes = { [226999623] = { "Companions gain Onslaught for 4 seconds on Hitting your Marked targets" }, }, + bonded = { + "Companions deal 30% increased Damage", + statOrder = { 5722 }, + }, isSocketBound = false, rank = { 60 }, }, ["boots"] = { type = "Idol", "1% increased Movement Speed while Sprinting per Persistent Minion", - "Bonded: Minions have 12% increased maximum Life", - statOrder = { 10070, 1026 }, + statOrder = { 10070 }, tradeHashes = { [3639405795] = { "1% increased Movement Speed while Sprinting per Persistent Minion" }, }, + bonded = { + "Minions have 12% increased maximum Life", + statOrder = { 1026 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -5618,27 +7252,36 @@ return { ["helmet"] = { type = "Idol", "Gain Guard equal to 10% of maximum Life for 4 seconds on taking Savage Hit", - "Bonded: Buffs on you expire 10% slower", - statOrder = { 6803, 5240 }, + statOrder = { 6803 }, tradeHashes = { [3863682550] = { "Gain Guard equal to 10% of maximum Life for 4 seconds on taking Savage Hit" }, }, + bonded = { + "Buffs on you expire 10% slower", + statOrder = { 5240 }, + }, isSocketBound = false, rank = { 60 }, }, ["gloves"] = { type = "Idol", "+5% to maximum Block chance if you've Blocked with a raised Shield Recently", - "Bonded: 20% increased Block chance", - statOrder = { 4207, 1133 }, + statOrder = { 4207 }, tradeHashes = { [3617372509] = { "+5% to maximum Block chance if you've Blocked with a raised Shield Recently" }, }, + bonded = { + "20% increased Block chance", + statOrder = { 1133 }, + }, isSocketBound = false, rank = { 60 }, }, ["body armour"] = { type = "Idol", "200% increased Stun Threshold if you've been Stunned Recently", - "Bonded: 25% increased Stun Threshold", - statOrder = { 10132, 2983 }, + statOrder = { 10132 }, tradeHashes = { [751944209] = { "200% increased Stun Threshold if you've been Stunned Recently" }, }, + bonded = { + "25% increased Stun Threshold", + statOrder = { 2983 }, + }, isSocketBound = false, rank = { 60 }, }, @@ -5647,27 +7290,36 @@ return { ["helmet"] = { type = "Idol", "Enemies have no Critical Damage Bonus for 4 seconds after you Blind them", - "Bonded: 20% increased Blind Effect", - statOrder = { 6388, 4928 }, + statOrder = { 6388 }, tradeHashes = { [25786091] = { "Enemies have no Critical Damage Bonus for 4 seconds after you Blind them" }, }, + bonded = { + "20% increased Blind Effect", + statOrder = { 4928 }, + }, isSocketBound = false, rank = { 60 }, }, ["gloves"] = { type = "Idol", "Enemies you Critically Hit get 100% reduced Life Regeneration Rate for 4 seconds", - "Bonded: 15% increased Critical Hit Chance", - statOrder = { 5822, 976 }, + statOrder = { 5822 }, tradeHashes = { [3370077792] = { "Enemies you Critically Hit get 100% reduced Life Regeneration Rate for 4 seconds" }, }, + bonded = { + "15% increased Critical Hit Chance", + statOrder = { 976 }, + }, isSocketBound = false, rank = { 60 }, }, ["boots"] = { type = "Idol", "Your speed is Unaffected by Slows while Sprinting", - "Bonded: 8% increased Movement Speed while Sprinting", - statOrder = { 9939, 10069 }, + statOrder = { 9939 }, tradeHashes = { [3128773415] = { "Your speed is Unaffected by Slows while Sprinting" }, }, + bonded = { + "8% increased Movement Speed while Sprinting", + statOrder = { 10069 }, + }, isSocketBound = false, rank = { 60 }, }, diff --git a/src/Export/Scripts/soulcores.lua b/src/Export/Scripts/soulcores.lua index c605d9ad79..9f1f1c5613 100644 --- a/src/Export/Scripts/soulcores.lua +++ b/src/Export/Scripts/soulcores.lua @@ -60,12 +60,19 @@ directiveTable.base = function(state, args, out) out:write('\t\t\t\t"'..table.concat(modLine.label, '",\n\t\t\t\t"')..'",\n') local statOrder = modLine.statOrder or {} out:write('\t\t\t\tstatOrder = { '..table.concat(statOrder, ', ')..' },\n') - out:write('\t\t\t\ttradeHashes = { ') - for hash, desc in pairs(modLine.tradeHashes) do - local descriptionLines = '"'..table.concat(desc, '", "')..'"' - out:write(string.format('[%d] = { %s }, ', hash, descriptionLines)) - end - out:write(' },\n') + end + out:write('\t\t\t\ttradeHashes = { ') + for hash, desc in pairs(modLine.tradeHashes or {}) do + local descriptionLines = '"'..table.concat(desc, '", "')..'"' + out:write(string.format('[%d] = { %s }, ', hash, descriptionLines)) + end + out:write(' },\n') + if modLine.bondedLabel and #modLine.bondedLabel > 0 then + out:write('\t\t\t\tbonded = {\n') + out:write('\t\t\t\t\t"'..table.concat(modLine.bondedLabel, '",\n\t\t\t\t\t"')..'",\n') + local bondedStatOrder = modLine.bondedStatOrder or {} + out:write('\t\t\t\t\tstatOrder = { '..table.concat(bondedStatOrder, ', ')..' },\n') + out:write('\t\t\t\t},\n') end out:write(string.format('\t\t\t\tisSocketBound = %s,\n', modLine.isSocketBound)) out:write('\t\t\t\trank = { '..(modLine.rank or 0)..' },\n') @@ -77,11 +84,12 @@ directiveTable.base = function(state, args, out) local soulCores = dat("SoulCores"):GetRow("BaseItemTypes", baseItemType) local soulCoreStats = dat("SoulCoreStats"):GetRowList("Id", soulCores) out:write('\t["', displayName, '"] = {\n') + -- Regular and Bonded stats may be separate data rows for the same slot. Keep an + -- ordered output list and a slot lookup so each Lua key is emitted exactly once. local modLines = { } - local rank = 0 + local modLinesBySlot = { } + local rank = soulCores.LevelReq or 0 for _, soulCoreStat in ipairs(soulCoreStats) do - rank = soulCores.LevelReq or 0 - local stats = { } local statHashes = {} for i, statKey in ipairs(soulCoreStat.Stats) do @@ -94,7 +102,7 @@ directiveTable.base = function(state, args, out) local statValue = soulCoreStat["BondedValues"][i] bondedStats[statKey.Id] = { min = statValue, max = statValue, bonded = true } end - if next(stats) then + if next(stats) or next(bondedStats) then for _, class in ipairs(classMap[soulCoreStat.Category.Id] or { string.lower(soulCoreStat.Category.Id) }) do local statsCopy = {} for k, v in pairs(stats) do statsCopy[k] = { min = v.min, max = v.max } end @@ -102,16 +110,7 @@ directiveTable.base = function(state, args, out) for k, v in pairs(bondedStats) do bondedStatsCopy[k] = { min = v.min, max = v.max, bonded = v.bonded } end local descStats, orders = describeStats(statsCopy) local descBondedStats, bondedOrders = describeStats(bondedStatsCopy) - for i, stat in ipairs(descBondedStats) do - descBondedStats[i] = "Bonded: " .. stat - end - for _, stat in ipairs(descBondedStats) do - table.insert(descStats, stat) - end - for _, order in ipairs(bondedOrders) do - table.insert(orders, order) - end - if #orders > 0 then + if #orders > 0 or #bondedOrders > 0 then local modIdx = 1 local tradeHashes = {} while soulCoreStat.Stats[modIdx] do @@ -136,16 +135,28 @@ directiveTable.base = function(state, args, out) tradeHashes[murmurHash2(bytes, 0x02312233)] = description modIdx = modIdx + 1 end - local out = { - type = soulCores.Type.Id, - slotType = class, - label = descStats, - statOrder = orders, - rank = rank, - tradeHashes = tradeHashes, - isSocketBound = soulCores.IsSocketBound - } - table.insert(modLines, out) + local modLine = modLinesBySlot[class] + if not modLine then + modLine = { + type = soulCores.Type.Id, + slotType = class, + label = descStats, + statOrder = orders, + bondedLabel = descBondedStats, + bondedStatOrder = bondedOrders, + rank = rank, + tradeHashes = tradeHashes, + isSocketBound = soulCores.IsSocketBound + } + modLinesBySlot[class] = modLine + table.insert(modLines, modLine) + else + for _, line in ipairs(descStats) do table.insert(modLine.label, line) end + for _, order in ipairs(orders) do table.insert(modLine.statOrder, order) end + for _, line in ipairs(descBondedStats) do table.insert(modLine.bondedLabel, line) end + for _, order in ipairs(bondedOrders) do table.insert(modLine.bondedStatOrder, order) end + for hash, desc in pairs(tradeHashes) do modLine.tradeHashes[hash] = desc end + end end end end diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index 5ba727778c..8f1a1073a7 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -833,6 +833,7 @@ function calcs.initEnv(build, mode, override, specEnv) local nodesModsList = calcs.buildModListForNodeList(env, env.allocNodes, true, true) env.useAltGemQualityStats = nodesModsList:Flag(nil, "GemlingQuality") + local canUseBonded = nodesModsList:Flag(nil, "CanUseBonded") if allocatedNotableCount and allocatedNotableCount > 0 then modDB:NewMod("Multiplier:AllocatedNotable", "BASE", allocatedNotableCount) @@ -1043,7 +1044,7 @@ function calcs.initEnv(build, mode, override, specEnv) for _, slot in pairs(build.itemsTab.orderedSlots) do local slotName = slot.slotName if items[slotName] then - local srcList = items[slotName].modList or items[slotName].slotModList[slot.slotNum] or {} + local srcList = items[slotName]:GetActiveModListForSlotNum(slot.slotNum, canUseBonded) for _, mod in ipairs(srcList) do -- checks if it disables another slot for _, tag in ipairs(mod) do @@ -1140,7 +1141,7 @@ function calcs.initEnv(build, mode, override, specEnv) if item then env.player.itemList[slotName] = item -- Merge mods for this item - local srcList = item.modList or (item.slotModList and item.slotModList[slot.slotNum]) or {} + local srcList = item:GetActiveModListForSlotNum(slot.slotNum, canUseBonded) local corruptedJewelEffect = slot.nodeId and getCorruptedJewelEffect(env, item, node) or 0 -- Remove Spirit Base if CannotGainSpiritFromEquipment flag is true @@ -1448,7 +1449,7 @@ function calcs.initEnv(build, mode, override, specEnv) if env.player.itemList["Weapon 2"] and env.player.itemList["Weapon 2"].type == "Quiver" then local quiverEffectMod = env.modDB:Sum("INC", nil, "EffectOfBonusesFromQuiver") / 100 - local modList = env.player.itemList["Weapon 2"].modList + local modList = env.player.itemList["Weapon 2"]:GetActiveModListForSlotNum(2, canUseBonded) for _, mod in ipairs(modList) do local modCopy = copyTable(mod) modCopy.source = "Many Sources:".. colorCodes.SOURCE .. tostring(quiverEffectMod * 100) .. "% Quiver Bonus Effect" @@ -1458,7 +1459,7 @@ function calcs.initEnv(build, mode, override, specEnv) if env.player.itemList["Amulet"] and env.player.itemList["Amulet"].type == "Amulet" then local amuletEffectMod = env.modDB:Sum("INC", nil, "EffectOfBonusesFromAmulet") / 100 - local modList = env.player.itemList["Amulet"].modList + local modList = env.player.itemList["Amulet"]:GetActiveModListForSlotNum(nil, canUseBonded) for _, mod in ipairs(modList) do local modCopy = copyTable(mod) modCopy.source = "Many Sources:".. colorCodes.SOURCE .. tostring(amuletEffectMod * 100) .. "% Amulet Bonus Effect" diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 52fa3b4316..4dc44bfcc6 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -1438,8 +1438,6 @@ local preFlagList = { ["^enemies in your presence "] = { applyToEnemy = true, tag = { type = "ActorCondition", actor = "enemy", var = "EnemyInPresence" } }, ["^enemies in your presence [hgd][ae][via][enl] "] = { applyToEnemy = true, tag = { type = "ActorCondition", actor = "enemy", var = "EnemyInPresence" } }, ["^body armour grants "] = { tag = { type = "ItemCondition", itemSlot = "Body Armour", rarityCond = "NORMAL" } }, - -- Bonded - ["^bonded: "] = { tag = { type = "Condition", var = "CanUseBondedModifiers" } }, } -- List of modifier tags @@ -3421,7 +3419,10 @@ local specialModList = { ["inevitable critical hits"] = { flag("InevitableCriticalHits") }, ["walk the paths not taken"] = { }, ["gain the benefits of bonded modifiers on runes and idols"] = { - flag("Condition:CanUseBondedModifiers"), + flag("CanUseBonded"), + }, + ["idols socketed in this item gain the benefits of their bonded modifiers"] = { + flag("SocketedIdolsUseBondedModifiers"), }, -- Item local modifiers ["has no sockets"] = { flag("NoSockets") },