Release 1.3.7
- Added new boss mode options - Fixed various interactions with Witchfire Brew
This commit is contained in:
@@ -182,10 +182,19 @@ local varList = {
|
||||
{ var = "conditionEnemyCoveredInAsh", type = "check", label = "Is the enemy covered in Ash?", tooltip = "This adds the following modifiers:\n20% less enemy Movement Speed\n20% increased Fire Damage Taken by enemy", apply = function(val, modList, enemyModList)
|
||||
enemyModList:NewMod("FireDamageTaken", "INC", 20, "Ash")
|
||||
end },
|
||||
{ var = "enemyIsBoss", type = "check", label = "Is the enemy a Boss?", tooltip = "This adds the following modifiers:\n60% less Effect of your Curses\n+30% to enemy Elemental Resistances\n+15% to enemy Chaos Resistance", apply = function(val, modList, enemyModList)
|
||||
enemyModList:NewMod("CurseEffect", "MORE", -60, "Boss")
|
||||
enemyModList:NewMod("ElementalResist", "BASE", 30, "Boss")
|
||||
enemyModList:NewMod("ChaosResist", "BASE", 15, "Boss")
|
||||
{ var = "enemyIsBoss", type = "list", label = "Is the enemy a Boss?", tooltip = "Standard Boss adds the following modifiers:\n60% less Effect of your Curses\n+30% to enemy Elemental Resistances\n+15% to enemy Chaos Resistance\n\nShaper/Guardian adds the following modifiers:\n80% less Effect of your Curses\n+40% to enemy Elemental Resistances\n+25% to enemy Chaos Resistance\n50% less Duration of Bleed\n50% less Duration of Poison\n50% less Duration of Ignite", list = {{val="NONE",label="No"},{val=true,label="Standard Boss"},{val="SHAPER",label="Shaper/Guardian"}}, apply = function(val, modList, enemyModList)
|
||||
if val == true then
|
||||
enemyModList:NewMod("CurseEffect", "MORE", -60, "Boss")
|
||||
enemyModList:NewMod("ElementalResist", "BASE", 30, "Boss")
|
||||
enemyModList:NewMod("ChaosResist", "BASE", 15, "Boss")
|
||||
elseif val == "SHAPER" then
|
||||
enemyModList:NewMod("CurseEffect", "MORE", -80, "Boss")
|
||||
enemyModList:NewMod("ElementalResist", "BASE", 40, "Boss")
|
||||
enemyModList:NewMod("ChaosResist", "BASE", 25, "Boss")
|
||||
enemyModList:NewMod("SelfBleedDuration", "MORE", -50, "Boss")
|
||||
enemyModList:NewMod("SelfPoisonDuration", "MORE", -50, "Boss")
|
||||
enemyModList:NewMod("SelfIgniteDuration", "MORE", -50, "Boss")
|
||||
end
|
||||
end },
|
||||
{ var = "enemyPhysicalReduction", type = "number", label = "Enemy Phys. Damage Reduction:", apply = function(val, modList, enemyModList)
|
||||
enemyModList:NewMod("PhysicalDamageReduction", "INC", val, "Config")
|
||||
@@ -416,6 +425,10 @@ function ConfigTabClass:BuildModList()
|
||||
if input[varData.var] and input[varData.var] ~= 0 then
|
||||
varData.apply(input[varData.var], modList, enemyModList)
|
||||
end
|
||||
elseif varData.type == "list" then
|
||||
if input[varData.var] then
|
||||
varData.apply(input[varData.var], modList, enemyModList)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -400,16 +400,18 @@ function PassiveSpecClass:BuildAllDependsAndPaths()
|
||||
for id, node in pairs(self.nodes) do
|
||||
node.depends = wipeTable(node.depends)
|
||||
node.dependsOnIntuitiveLeap = false
|
||||
for nodeId, itemId in pairs(self.jewels) do
|
||||
if self.allocNodes[nodeId] and self.nodes[nodeId].nodesInRadius[1][node.id] then
|
||||
if itemId ~= 0 and self.build.itemsTab.list[itemId] and self.build.itemsTab.list[itemId].jewelData and self.build.itemsTab.list[itemId].jewelData.intuitiveLeap then
|
||||
-- This node depends on Intuitive Leap
|
||||
-- This flag:
|
||||
-- 1. Prevents generation of paths from this node
|
||||
-- 2. Prevents this node from being deallocted via dependancy
|
||||
-- 3. Prevents allocation of path nodes when this node is being allocated
|
||||
node.dependsOnIntuitiveLeap = true
|
||||
break
|
||||
if node.type ~= "classStart" then
|
||||
for nodeId, itemId in pairs(self.jewels) do
|
||||
if self.allocNodes[nodeId] and self.nodes[nodeId].nodesInRadius[1][node.id] then
|
||||
if itemId ~= 0 and self.build.itemsTab.list[itemId] and self.build.itemsTab.list[itemId].jewelData and self.build.itemsTab.list[itemId].jewelData.intuitiveLeap then
|
||||
-- This node depends on Intuitive Leap
|
||||
-- This flag:
|
||||
-- 1. Prevents generation of paths from this node
|
||||
-- 2. Prevents this node from being deallocted via dependancy
|
||||
-- 3. Prevents allocation of path nodes when this node is being allocated
|
||||
node.dependsOnIntuitiveLeap = true
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -414,7 +414,11 @@ return {
|
||||
{ label = "Total More", { format = "{0:mod:1}%", { modName = { "Damage", "PhysicalDamage" }, modType = "MORE", cfg = "bleed" }, }, },
|
||||
{ label = "Effective DPS Mod", flag = "effective", { format = "x {3:output:BleedEffMult}", { breakdown = "BleedEffMult" }, { label = "Enemy modifiers", modName = { "DamageTaken", "DotTaken", "PhysicalDamageTaken", "PhysicalDamageReduction" }, enemy = true }, }, },
|
||||
{ label = "Bleed DPS", { format = "{1:output:BleedDPS}", { breakdown = "BleedDPS" }, { breakdown = "MainHand.BleedDPS" }, { breakdown = "OffHand.BleedDPS" }, }, },
|
||||
{ label = "Bleed Duration", { format = "{2:output:BleedDuration}s", { breakdown = "BleedDuration" }, { modName = "Duration", cfg = "bleed" }, }, },
|
||||
{ label = "Bleed Duration", { format = "{2:output:BleedDuration}s",
|
||||
{ breakdown = "BleedDuration" },
|
||||
{ label = "Player modifiers", modName = "Duration", cfg = "bleed" },
|
||||
{ label = "Enemy modifiers", modName = "SelfBleedDuration", enemy = true },
|
||||
}, },
|
||||
} },
|
||||
{ 1, "Poison", 1, "Poison", data.colorCodes.OFFENCE, {
|
||||
extra = "{0:output:PoisonChance}% {1:output:PoisonDPS} {2:output:PoisonDuration}s",
|
||||
@@ -440,7 +444,8 @@ return {
|
||||
}, },
|
||||
{ label = "Poison Duration", { format = "{2:output:PoisonDuration}s",
|
||||
{ breakdown = "PoisonDuration" },
|
||||
{ modName = "Duration", cfg = "poison" },
|
||||
{ label = "Player modifiers", modName = "Duration", cfg = "poison" },
|
||||
{ label = "Enemy modifiers", modName = "SelfPoisonDuration", enemy = true },
|
||||
}, },
|
||||
{ label = "Dmg. per Poison", { format = "{1:output:PoisonDamage}",
|
||||
{ breakdown = "MainHand.PoisonDamage" },
|
||||
|
||||
@@ -1122,14 +1122,17 @@ local function performCalcs(env)
|
||||
quality = 0,
|
||||
data = data.gems[value.name],
|
||||
})
|
||||
modDB.multipliers["CurseOnEnemy"] = (modDB.multipliers["CurseOnEnemy"] or 0) + 1
|
||||
local curseModList = { }
|
||||
for _, mod in ipairs(modList) do
|
||||
for _, tag in ipairs(mod.tagList) do
|
||||
if tag.type == "GlobalEffect" and tag.effectType == "Curse" then
|
||||
enemyDB:AddMod(mod)
|
||||
t_insert(curseModList, mod)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
enemyDB:ScaleAddList(curseModList, (1 + enemyDB:Sum("INC", nil, "CurseEffect") / 100) * enemyDB:Sum("MORE", nil, "CurseEffect"))
|
||||
end
|
||||
|
||||
-- Check for extra modifiers to apply to aura skills
|
||||
@@ -2553,7 +2556,7 @@ local function performCalcs(env)
|
||||
local inc = modDB:Sum("INC", dotCfg, "Damage", "PhysicalDamage")
|
||||
local more = round(modDB:Sum("MORE", dotCfg, "Damage", "PhysicalDamage"), 2)
|
||||
output.BleedDPS = baseVal * (1 + inc/100) * more * effMult
|
||||
local durationMod = calcMod(modDB, dotCfg, "Duration")
|
||||
local durationMod = calcMod(modDB, dotCfg, "Duration") * calcMod(enemyDB, nil, "SelfBleedDuration")
|
||||
globalOutput.BleedDuration = 5 * durationMod * debuffDurationMult
|
||||
if breakdown then
|
||||
t_insert(breakdown.BleedDPS, "x 0.1 ^8(bleed deals 10% per second)")
|
||||
@@ -2611,7 +2614,7 @@ local function performCalcs(env)
|
||||
else
|
||||
durationBase = 2
|
||||
end
|
||||
local durationMod = calcMod(modDB, dotCfg, "Duration")
|
||||
local durationMod = calcMod(modDB, dotCfg, "Duration") * calcMod(enemyDB, nil, "SelfPoisonDuration")
|
||||
globalOutput.PoisonDuration = durationBase * durationMod * debuffDurationMult
|
||||
output.PoisonDamage = output.PoisonDPS * globalOutput.PoisonDuration
|
||||
if env.mode_average then
|
||||
@@ -2694,7 +2697,8 @@ local function performCalcs(env)
|
||||
local burnRateMod = calcMod(modDB, cfg, "IgniteBurnRate")
|
||||
output.IgniteDPS = baseVal * (1 + inc/100) * more * burnRateMod * effMult
|
||||
local incDur = modDB:Sum("INC", dotCfg, "EnemyIgniteDuration") + enemyDB:Sum("INC", nil, "SelfIgniteDuration")
|
||||
globalOutput.IgniteDuration = 4 * (1 + incDur / 100) / burnRateMod * debuffDurationMult
|
||||
local moreDur = enemyDB:Sum("MORE", nil, "SelfIgniteDuration")
|
||||
globalOutput.IgniteDuration = 4 * (1 + incDur / 100) * moreDur / burnRateMod * debuffDurationMult
|
||||
if skillFlags.igniteCanStack then
|
||||
output.IgniteDamage = output.IgniteDPS * globalOutput.IgniteDuration
|
||||
if env.mode_average then
|
||||
@@ -2724,6 +2728,9 @@ local function performCalcs(env)
|
||||
if incDur ~= 0 then
|
||||
t_insert(globalBreakdown.IgniteDuration, s_format("x %.2f ^8(increased/reduced duration)", 1 + incDur/100))
|
||||
end
|
||||
if moreDur ~= 1 then
|
||||
t_insert(globalBreakdown.IgniteDuration, s_format("x %.2f ^8(more/less duration)", moreDur))
|
||||
end
|
||||
if burnRateMod ~= 1 then
|
||||
t_insert(globalBreakdown.IgniteDuration, s_format("/ %.2f ^8(rate modifier)", burnRateMod))
|
||||
end
|
||||
|
||||
@@ -47,6 +47,12 @@ Head over to the [Releases](https://github.com/Openarl/PathOfBuilding/releases)
|
||||

|
||||
|
||||
## Changelog
|
||||
### 1.3.7 - 2017/02/22
|
||||
* The "enemy is a Boss" option in the Configuration tab now has 2 modes: Standard Boss, and Shaper/Guardian
|
||||
* Standard Boss is equivelant to the old boss setting (30/30/30/15 resists, -60% curse effect)
|
||||
* Shaper/Guardian applies: 40/40/40/25 resists, -80% curse effect, 50% less Bleed/Poison/Ignite Duration
|
||||
* Witchfire Brew's Vulnerability aura now correctly accounts for less curse effect on bosses, and now counts for Malediction
|
||||
|
||||
### 1.3.6 - 2017/02/21
|
||||
* Added a skill part for Barrage that calculates the DPS from all projectiles hitting the target
|
||||
* The breakdown for Crit Chance in the Calcs tab now shows how far overcapped your crit chance is
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
VERSION[1.3.7][2017/02/22]
|
||||
* The "enemy is a Boss" option in the Configuration tab now has 2 modes: Standard Boss, and Shaper/Guardian
|
||||
* Standard Boss is equivelant to the old boss setting (30/30/30/15 resists, -60% curse effect)
|
||||
* Shaper/Guardian applies: 40/40/40/25 resists, -80% curse effect, 50% less Bleed/Poison/Ignite Duration
|
||||
* Witchfire Brew's Vulnerability aura now correctly accounts for less curse effect on bosses, and now counts for Malediction
|
||||
VERSION[1.3.6][2017/02/21]
|
||||
* Added a skill part for Barrage that calculates the DPS from all projectiles hitting the target
|
||||
* The breakdown for Crit Chance in the Calcs tab now shows how far overcapped your crit chance is
|
||||
|
||||
12
manifest.xml
12
manifest.xml
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PoBVersion>
|
||||
<Version number="1.3.6"/>
|
||||
<Version number="1.3.7"/>
|
||||
<Source part="program" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/"/>
|
||||
<Source part="tree" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/tree.zip"/>
|
||||
<Source url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/runtime-win32.zip" part="runtime" platform="win32"/>
|
||||
<File sha1="8a7163c306feb866be7f8d66c71b282c9f99be94" name="Launch.lua" part="program"/>
|
||||
<File sha1="d8e42beeb38baabcc197d658e4c0af33419eeff3" name="UpdateCheck.lua" part="program"/>
|
||||
<File sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" name="UpdateApply.lua" part="program"/>
|
||||
<File sha1="6ec9011287848f0e6db82fdcff744f93106c3a42" name="changelog.txt" part="program"/>
|
||||
<File sha1="14003f5ca8b2f46f62ad053caebf5f676ff829d9" name="changelog.txt" part="program"/>
|
||||
<File sha1="231a4fe264d84294427edacbf3e29ec4b301712e" name="Classes/BuildListControl.lua" part="program"/>
|
||||
<File sha1="deffd663ba726d938fcbe2870aab8a4e982587fa" name="Classes/ButtonControl.lua" part="program"/>
|
||||
<File sha1="412639a254d0e275d9cc2286c5d76d3b0a9a0e8e" name="Classes/CalcBreakdownControl.lua" part="program"/>
|
||||
<File sha1="e30db9887e852afc1b149e2ee34cc124bc6d7a0a" name="Classes/CalcSectionControl.lua" part="program"/>
|
||||
<File sha1="0177c313de6d62cc53c7dfff20a055b26de7c1b7" name="Classes/CalcsTab.lua" part="program"/>
|
||||
<File sha1="05bb6f2625f647454990605d6c2e20c786c992b4" name="Classes/CheckBoxControl.lua" part="program"/>
|
||||
<File sha1="16af68d2eee83d3e2d4b3d429da119ad994e2554" name="Classes/ConfigTab.lua" part="program"/>
|
||||
<File sha1="f41cf7732765c5ca12b5b2072e18cd7f07c398a8" name="Classes/ConfigTab.lua" part="program"/>
|
||||
<File sha1="bbb08f183746d6ec023e2bd08fb7a89d365381da" name="Classes/Control.lua" part="program"/>
|
||||
<File sha1="ae55fe1093e727872bc01cc94fa987395f944313" name="Classes/ControlHost.lua" part="program"/>
|
||||
<File sha1="9f05f72260f896eea09c1a8fb28f58973ce4d3ff" name="Classes/DropDownControl.lua" part="program"/>
|
||||
@@ -29,7 +29,7 @@
|
||||
<File sha1="62a5a9ce8e3bc3000c9c0445e2fca60c0b2e9e8d" name="Classes/ModDB.lua" part="program"/>
|
||||
<File sha1="c2cc7ad12754df03ec5401df02bce45894bbe3bd" name="Classes/ModList.lua" part="program"/>
|
||||
<File sha1="9bc0d8791e7825e52070e96e7894d29fad70cf98" name="Classes/NotesTab.lua" part="program"/>
|
||||
<File sha1="473fe598609787eaabf1d3320c99b8334d1e84bc" name="Classes/PassiveSpec.lua" part="program"/>
|
||||
<File sha1="cf400bb69d6668bdb44f595572b84194ac728b72" name="Classes/PassiveSpec.lua" part="program"/>
|
||||
<File sha1="178c1dcab43b126240b029d3d29721f0af6cd84c" name="Classes/PassiveSpecListControl.lua" part="program"/>
|
||||
<File sha1="6af967e88e1675c4ae76022620cede256b09a160" name="Classes/PassiveTree.lua" part="program"/>
|
||||
<File sha1="7430ab7d866c0540af4020d06730d57a195cb5ec" name="Classes/PassiveTreeView.lua" part="program"/>
|
||||
@@ -44,8 +44,8 @@
|
||||
<File sha1="4b7675c8b4fe71cade7dd3d70793df1ed8022d01" name="Classes/UndoHandler.lua" part="program"/>
|
||||
<File sha1="06cef31ee7a133da6a9c4b8b4b9e859901c4a4a4" name="Modules/Build.lua" part="program"/>
|
||||
<File sha1="8a07fe01c53b785ebb6256236e781fbaabd36c0e" name="Modules/BuildList.lua" part="program"/>
|
||||
<File sha1="087da25b6dc053b434d0fdda7b331ee83eeb0acf" name="Modules/Calcs.lua" part="program"/>
|
||||
<File sha1="c745848cd1fe1f399f557c100c361989d5084955" name="Modules/CalcSections.lua" part="program"/>
|
||||
<File sha1="20bbdf7643e2826b8d23cda331c2f1ba1bb2ab0f" name="Modules/Calcs.lua" part="program"/>
|
||||
<File sha1="4b63cbb3c691c6f6ea69b59006ebdeb1b1474430" name="Modules/CalcSections.lua" part="program"/>
|
||||
<File sha1="761af85f3e1c5601fdb790356a09aefe2f5a64e3" name="Modules/Common.lua" part="program"/>
|
||||
<File sha1="cc9721ab97b5cfb9c707f4523168b9df618db083" name="Modules/Data.lua" part="program"/>
|
||||
<File sha1="2f9c8616dda0319ca22456e2f31e9ad8ffeb81e3" name="Modules/ItemTools.lua" part="program"/>
|
||||
|
||||
Reference in New Issue
Block a user