diff --git a/Classes/ItemsTab.lua b/Classes/ItemsTab.lua index 9990affe..bc0d87ba 100644 --- a/Classes/ItemsTab.lua +++ b/Classes/ItemsTab.lua @@ -407,7 +407,7 @@ function ItemsTabClass:AddItemTooltip(item, slot, dbMode) end for _, def in ipairs({{var="armour",label="Armour"},{var="evasion",label="Evasion Rating"},{var="energyShield",label="Energy Shield"}}) do local itemVal = modList["slot:"..base.type.."_"..def.var.."Base"] - if itemVal then + if itemVal and itemVal > 0 then main:AddTooltipLine(16, s_format("^x7F7F7F%s: %s%d", def.label, itemVal ~= base.armour[def.var.."Base"] and data.colorCodes.MAGIC or "^7", itemVal)) end end diff --git a/Modules/Calcs.lua b/Modules/Calcs.lua index 9a8296ef..a320406f 100644 --- a/Modules/Calcs.lua +++ b/Modules/Calcs.lua @@ -515,6 +515,9 @@ local function initEnv(build, input, mode) mod_dbMerge(modDB, "", "activeTrapLimit", 3) mod_dbMerge(modDB, "", "activeMineLimit", 5) mod_dbMerge(modDB, "", "projectileCount", 1) + mod_dbMerge(modDB, "CondMod", "DualWielding_attackSpeedMore", 1.1) + mod_dbMerge(modDB, "CondMod", "DualWielding_attack_physicalMore", 1.2) + mod_dbMerge(modDB, "CondMod", "DualWielding_blockChance", 15) -- Add bandit mods if build.banditNormal == "Alira" then @@ -650,10 +653,10 @@ local function finaliseMods(env, output) end if skillFlags.attack then skillFlags.weapon1Attack = true - if weapon1Info.melee then + if weapon1Info.melee and skillFlags.melee then skillFlags.bow = nil skillFlags.projectile = nil - else + elseif not weapon1Info.melee and skillFlags.bow then skillFlags.melee = nil end end @@ -850,10 +853,11 @@ local function finaliseMods(env, output) if weapon1Type == "Staff" then condList["UsingStaff"] = true end - if env.skillFlags.mainIs1H then - if weapon2Type == "Shield" then - condList["UsingShield"] = true - end + if env.skillFlags.mainIs1H and weapon2Type == "Shield" then + condList["UsingShield"] = true + end + if data.weaponTypeInfo[weapon1Type] and data.weaponTypeInfo[weapon2Type] then + condList["DualWielding"] = true end if getMiscVal(modDB, "gear", "NormalCount", 0) > 0 then condList["UsingNormalItem"] = true @@ -1846,7 +1850,7 @@ function calcs.buildOutput(build, input, output, mode) -- Configure view mode setViewMode(env, build.skillsTab.list) - --infoDump(env, output) + infoDump(env, output) end end diff --git a/Modules/ItemTools.lua b/Modules/ItemTools.lua index 23d0195f..701bbd51 100644 --- a/Modules/ItemTools.lua +++ b/Modules/ItemTools.lua @@ -273,15 +273,9 @@ function itemLib.buildItemModListForSlotNum(item, baseList, slotNum) modList.weapon2_type = "Shield" end local basePrefix = "slot:"..item.base.type.."_" - if item.base.armour.armourBase then - modList[basePrefix.."armourBase"] = m_floor((item.base.armour.armourBase + (modList.armourBase or 0)) * (1 + ((modList.armourInc or 0) + (modList.armourAndEvasionInc or 0) + (modList.armourAndEnergyShieldInc or 0) + (modList.defencesInc or 0) + item.quality) / 100) + 0.5) - end - if item.base.armour.evasionBase then - modList[basePrefix.."evasionBase"] = m_floor((item.base.armour.evasionBase + (modList.evasionBase or 0)) * (1 + ((modList.evasionInc or 0) + (modList.armourAndEvasionInc or 0) + (modList.evasionAndEnergyShieldInc or 0) + (modList.defencesInc or 0) + item.quality) / 100) + 0.5) - end - if item.base.armour.energyShieldBase then - modList[basePrefix.."energyShieldBase"] = m_floor((item.base.armour.energyShieldBase + (modList.energyShieldBase or 0)) * (1 + ((modList.energyShieldInc or 0) + (modList.armourAndEnergyShieldInc or 0) + (modList.evasionAndEnergyShieldInc or 0) + (modList.defencesInc or 0) + item.quality) / 100) + 0.5) - end + modList[basePrefix.."armourBase"] = m_floor(((item.base.armour.armourBase or 0) + (modList.armourBase or 0)) * (1 + ((modList.armourInc or 0) + (modList.armourAndEvasionInc or 0) + (modList.armourAndEnergyShieldInc or 0) + (modList.defencesInc or 0) + item.quality) / 100) + 0.5) + modList[basePrefix.."evasionBase"] = m_floor(((item.base.armour.evasionBase or 0) + (modList.evasionBase or 0)) * (1 + ((modList.evasionInc or 0) + (modList.armourAndEvasionInc or 0) + (modList.evasionAndEnergyShieldInc or 0) + (modList.defencesInc or 0) + item.quality) / 100) + 0.5) + modList[basePrefix.."energyShieldBase"] = m_floor(((item.base.armour.energyShieldBase or 0) + (modList.energyShieldBase or 0)) * (1 + ((modList.energyShieldInc or 0) + (modList.armourAndEnergyShieldInc or 0) + (modList.evasionAndEnergyShieldInc or 0) + (modList.defencesInc or 0) + item.quality) / 100) + 0.5) if item.base.armour.blockChance then if modList.shieldLocal_noBlock then modList.blockChance = 0 diff --git a/README.md b/README.md index 759dd824..09c2a278 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,11 @@ Head over to the [Releases](https://github.com/Openarl/PathOfBuilding/releases) ![ss3](https://cloud.githubusercontent.com/assets/19189971/18089780/f0ff234a-6f04-11e6-8c88-6193fe59a5c4.png) ## Changelog +### 1.0.14 - 2016/09/01 + * Fixed tags on certain multipart skills not correctly applying + * Fixed energy shield not showing up on Sin Trek + * Dual Wielding modifiers will now apply + * Skills that can use both weapons still only use the main hand at the moment; that requires a bit more work to implement ### 1.0.13 - 2016/09/01 * Added a scroll bar to the Items tab to fix the issue with low screen resolutions * The scroll bar will automatically jump to the right when you start editing an item, then jump back when you save it diff --git a/manifest.xml b/manifest.xml index c024fce8..1db20a07 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,6 +1,6 @@ - + @@ -20,7 +20,7 @@ - + @@ -36,11 +36,11 @@ - + - +