Merge remote-tracking branch 'origin/dev'
This commit is contained in:
@@ -315,7 +315,7 @@ end
|
||||
|
||||
-- Count the number of allocated nodes and allocated ascendancy nodes
|
||||
function PassiveSpecClass:CountAllocNodes()
|
||||
local used, ascUsed = 0, 0
|
||||
local used, ascUsed, sockets = 0, 0, 0
|
||||
for _, node in pairs(self.allocNodes) do
|
||||
if node.type ~= "classStart" and node.type ~= "ascendClassStart" then
|
||||
if node.ascendancyName then
|
||||
@@ -325,9 +325,12 @@ function PassiveSpecClass:CountAllocNodes()
|
||||
else
|
||||
used = used + 1
|
||||
end
|
||||
if node.type == "socket" then
|
||||
sockets = sockets + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
return used, ascUsed
|
||||
return used, ascUsed, sockets
|
||||
end
|
||||
|
||||
-- Perform a breadth-first search of the tree, starting from this node, and determine if it is the closest node to any other nodes
|
||||
|
||||
@@ -33,10 +33,13 @@ local TreeTabClass = common.NewClass("TreeTab", "ControlHost", function(self, bu
|
||||
if mode ~= "OUT" then
|
||||
local spec = self.specList[sel]
|
||||
if spec then
|
||||
local used = spec:CountAllocNodes()
|
||||
local used, ascUsed, sockets = spec:CountAllocNodes()
|
||||
main:AddTooltipLine(16, "Class: "..spec.curClassName)
|
||||
main:AddTooltipLine(16, "Ascendancy: "..spec.curAscendClassName)
|
||||
main:AddTooltipLine(16, "Points used: "..used)
|
||||
if sockets > 0 then
|
||||
main:AddTooltipLine(16, "Jewel sockets: "..sockets)
|
||||
end
|
||||
if sel ~= self.activeSpec then
|
||||
local calcFunc, calcBase = self.build.calcsTab:GetMiscCalculator()
|
||||
if calcFunc then
|
||||
|
||||
@@ -1600,7 +1600,7 @@ gems["Flameblast"] = {
|
||||
--"is_area_damage" = ?
|
||||
skill("showAverage", true), --"base_skill_show_average_damage_instead_of_dps" = ?
|
||||
mod("Damage", "MORE", 990, 0, 0, { type = "SkillPart", skillPart = 2 }),
|
||||
mod("Speed", "MORE", -90, 0, 0, { type = "SkillPart", skillPart = 2 }),
|
||||
skill("dpsMultiplier", 0.1, { type = "SkillPart", skillPart = 2 }),
|
||||
skill("showAverage", false),
|
||||
},
|
||||
qualityMods = {
|
||||
|
||||
@@ -621,11 +621,16 @@ function buildMode:AddStatComparesToTooltip(baseOutput, compareOutput, header, n
|
||||
end
|
||||
local color = ((statData.lowerIsBetter and diff < 0) or (not statData.lowerIsBetter and diff > 0)) and data.colorCodes.POSITIVE or data.colorCodes.NEGATIVE
|
||||
local line = string.format("%s%+"..statData.fmt.." %s", color, diff * ((statData.pc or statData.mod) and 100 or 1), statData.label)
|
||||
local pcPerPt = ""
|
||||
if statData.compPercent and (baseOutput[statData.stat] or 0) ~= 0 and (compareOutput[statData.stat] or 0) ~= 0 then
|
||||
line = line .. string.format(" (%+.1f%%)", (compareOutput[statData.stat] or 0) / (baseOutput[statData.stat] or 0) * 100 - 100)
|
||||
local pc = (compareOutput[statData.stat] or 0) / (baseOutput[statData.stat] or 0) * 100 - 100
|
||||
line = line .. string.format(" (%+.1f%%)", pc)
|
||||
if nodeCount then
|
||||
pcPerPt = string.format(" (%+.1f%%)", pc / nodeCount)
|
||||
end
|
||||
end
|
||||
if nodeCount then
|
||||
line = line .. string.format(" ^8(%+"..statData.fmt.." per point)", diff * ((statData.pc or statData.mod) and 100 or 1) / nodeCount)
|
||||
line = line .. string.format(" ^8[%+"..statData.fmt.."%s per point]", diff * ((statData.pc or statData.mod) and 100 or 1) / nodeCount, pcPerPt)
|
||||
end
|
||||
main:AddTooltipLine(14, line)
|
||||
count = count + 1
|
||||
@@ -658,6 +663,12 @@ function buildMode:LoadDB(xmlText, fileName)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for _, saver in pairs(self.savers) do
|
||||
if saver.PostLoad then
|
||||
saver:PostLoad()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function buildMode:LoadDBFile()
|
||||
|
||||
@@ -235,13 +235,15 @@ local function buildActiveSkillModList(env, activeSkill)
|
||||
skillFlags.disable = true
|
||||
end
|
||||
if skillTypes[SkillType.DualWield] or skillTypes[SkillType.CanDualWield] then
|
||||
local weapon2Flags = getWeaponFlags(env.weaponData2, weaponTypes)
|
||||
if weapon2Flags then
|
||||
activeSkill.weapon2Flags = weapon2Flags
|
||||
skillFlags.weapon2Attack = true
|
||||
elseif skillTypes[SkillType.DualWield] or not skillFlags.weapon1Attack then
|
||||
-- Skill requires a compatible off hand weapon
|
||||
skillFlags.disable = true
|
||||
if not skillTypes[SkillType.MainHandOnly] then
|
||||
local weapon2Flags = getWeaponFlags(env.weaponData2, weaponTypes)
|
||||
if weapon2Flags then
|
||||
activeSkill.weapon2Flags = weapon2Flags
|
||||
skillFlags.weapon2Attack = true
|
||||
elseif skillTypes[SkillType.DualWield] or not skillFlags.weapon1Attack then
|
||||
-- Skill requires a compatible off hand weapon
|
||||
skillFlags.disable = true
|
||||
end
|
||||
end
|
||||
elseif env.weaponData2.type then
|
||||
-- Skill cannot be used while dual wielding
|
||||
@@ -2326,7 +2328,7 @@ local function performCalcs(env)
|
||||
}
|
||||
end
|
||||
if skillData.dpsMultiplier then
|
||||
t_insert(breakdown.TotalDPS, s_format("x %d ^8(DPS multiplier for this skill)", skillData.dpsMultiplier))
|
||||
t_insert(breakdown.TotalDPS, s_format("x %g ^8(DPS multiplier for this skill)", skillData.dpsMultiplier))
|
||||
end
|
||||
t_insert(breakdown.TotalDPS, s_format("= %.1f", output.TotalDPS))
|
||||
end
|
||||
|
||||
11
README.md
11
README.md
@@ -10,7 +10,6 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
|
||||
* Supports most skills, support gems, passives and item modifiers
|
||||
* Throughout the program, supported modifiers will show in blue and unsupported ones in red
|
||||
* Most minion skill are unsupported at present (except for golems, which can provide buffs to you)
|
||||
* No support for flasks yet
|
||||
* Passive skill tree planner:
|
||||
* Support for jewels including most radius/conversion jewels
|
||||
* Features alternate path tracing (mouse over a sequence of nodes while holding shift, then click to allocate them all)
|
||||
@@ -48,7 +47,15 @@ Head over to the [Releases](https://github.com/Openarl/PathOfBuilding/releases)
|
||||

|
||||
|
||||
## Changelog
|
||||
### 1.3.0 - 2017/02/15
|
||||
### 1.3.1 - 2017/02/18
|
||||
* Added socket count to the tooltips in the passive tree selection dropdown menu
|
||||
* Added percentage values to the per-point stat differences for passive nodes
|
||||
* Flameblast's 10 Stages skill part now uses a x0.1 DPS multiplier instead of a 90% less Cast Speed modifier
|
||||
* The cast rate will now reflect the time taken to build each stage, rather than the total time to build 10 stages
|
||||
* This change will prevent an issue where adding increased cast speed would have no effect under some conditions
|
||||
* Skills that only use the main-hand when dual wielding will now be handled correctly
|
||||
|
||||
### 1.3.0 - 2017/02/16
|
||||
This update adds support for Flasks:
|
||||
* Flask slots have been added to the Items tab. Checkboxes next to each slot allow the flasks to be individually activated.
|
||||
* All flask-related modifiers are now supported
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
VERSION[1.3.0][2017/02/15]
|
||||
VERSION[1.3.1][2017/02/18]
|
||||
* Added socket count to the tooltips in the passive tree selection dropdown menu
|
||||
* Added percentage values to the per-point stat differences for passive nodes
|
||||
* Flameblast's 10 Stages skill part now uses a x0.1 DPS multiplier instead of a 90% less Cast Speed modifier
|
||||
* The cast rate will now reflect the time taken to build each stage, rather than the total time to build 10 stages
|
||||
* This change will prevent an issue where adding increased cast speed would have no effect under some conditions
|
||||
* Skills that only use the main-hand when dual wielding will now be handled correctly
|
||||
VERSION[1.3.0][2017/02/16]
|
||||
This update adds support for Flasks:
|
||||
* Flask slots have been added to the Items tab. Checkboxes next to each slot allow the flasks to be individually activated.
|
||||
* All flask-related modifiers are now supported
|
||||
|
||||
14
manifest.xml
14
manifest.xml
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PoBVersion>
|
||||
<Version number="1.3.0"/>
|
||||
<Version number="1.3.1"/>
|
||||
<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="5ffc5d4ad59c4a165657132a8a3ddb206a64d99f" name="Launch.lua" part="program"/>
|
||||
<File sha1="d8e42beeb38baabcc197d658e4c0af33419eeff3" name="UpdateCheck.lua" part="program"/>
|
||||
<File sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" name="UpdateApply.lua" part="program"/>
|
||||
<File sha1="f9e31de3e2018e4b21e0d5a4380a044732c52589" name="changelog.txt" part="program"/>
|
||||
<File sha1="0046e5971942455e4c72ad3cf248e2608a6179df" 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"/>
|
||||
@@ -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="e992b6ad7b847aa87a6d2d04c38d151ba808a038" name="Classes/PassiveSpec.lua" part="program"/>
|
||||
<File sha1="27a487aefcc4a8d8e01275baf8fef7dc2676ed53" name="Classes/PassiveSpec.lua" part="program"/>
|
||||
<File sha1="178c1dcab43b126240b029d3d29721f0af6cd84c" name="Classes/PassiveSpecListControl.lua" part="program"/>
|
||||
<File sha1="9a6bce38a62d9c07851cdd095e91f088e37cea4e" name="Classes/PassiveTree.lua" part="program"/>
|
||||
<File sha1="3d0fe360dab97fee4eb9b790ad1be970b2d68c7b" name="Classes/PassiveTreeView.lua" part="program"/>
|
||||
@@ -40,11 +40,11 @@
|
||||
<File sha1="35e3e64c8f3da5512b8b9513f87f731a62bdd600" name="Classes/SkillsTab.lua" part="program"/>
|
||||
<File sha1="6317bd9ba391832dccafcb62409a5ce2988d1928" name="Classes/SliderControl.lua" part="program"/>
|
||||
<File sha1="a4f9cc96ba474d0a75c768a0eabec92837e027cf" name="Classes/TextListControl.lua" part="program"/>
|
||||
<File sha1="f443d606819807ff05312908d49887f6abbb57ea" name="Classes/TreeTab.lua" part="program"/>
|
||||
<File sha1="2dab39fe6d0cfe8899b55ae756f1c87c3dde9692" name="Classes/TreeTab.lua" part="program"/>
|
||||
<File sha1="4b7675c8b4fe71cade7dd3d70793df1ed8022d01" name="Classes/UndoHandler.lua" part="program"/>
|
||||
<File sha1="28a22780a650fa56b8373aa3a395e964fd172e81" name="Modules/Build.lua" part="program"/>
|
||||
<File sha1="f97f4ea58bc0a71fed52b9be8e81bf0b44fd1dc2" name="Modules/Build.lua" part="program"/>
|
||||
<File sha1="8a07fe01c53b785ebb6256236e781fbaabd36c0e" name="Modules/BuildList.lua" part="program"/>
|
||||
<File sha1="42e61e43e3780642aa6630284d22772fbde86f89" name="Modules/Calcs.lua" part="program"/>
|
||||
<File sha1="c499db3d19a2f70e0781c322cf360117eb17e3ba" name="Modules/Calcs.lua" part="program"/>
|
||||
<File sha1="40457c8f60f921144ecb1af6a63cc4dad0312b69" name="Modules/CalcSections.lua" part="program"/>
|
||||
<File sha1="761af85f3e1c5601fdb790356a09aefe2f5a64e3" name="Modules/Common.lua" part="program"/>
|
||||
<File sha1="f87380c2eadb93cd0b2596d995b70876313da814" name="Modules/Data.lua" part="program"/>
|
||||
@@ -59,7 +59,7 @@
|
||||
<File sha1="24596d013ecc9170990670c4e02f1b38c326db9e" name="Data/New.lua" part="program"/>
|
||||
<File sha1="1e6951cb616701529d9cca9d320fc24b441c1d5c" name="Data/Rares.lua" part="program"/>
|
||||
<File sha1="cbbe3cbcc79cdf568c634dbb1e3760322b66315b" name="Data/Gems/act_dex.lua" part="program"/>
|
||||
<File sha1="ca8311c31a667bab3fb7fbb8803073d5121d1b2b" name="Data/Gems/act_int.lua" part="program"/>
|
||||
<File sha1="20adca26fda765b311c71e957252e972c9ea97e8" name="Data/Gems/act_int.lua" part="program"/>
|
||||
<File sha1="967c7ba3c51c6d13f90b8410925ff16bc65be74b" name="Data/Gems/act_str.lua" part="program"/>
|
||||
<File sha1="fb08097a2a2d5065d98e70a080e1025e85eb3e4c" name="Data/Gems/other.lua" part="program"/>
|
||||
<File sha1="56d472af3b6da1de572670c06530be247d29d61a" name="Data/Gems/sup_dex.lua" part="program"/>
|
||||
|
||||
Reference in New Issue
Block a user