Skip to content

Commit 115c383

Browse files
committed
Release 1.4.169
- Fixed various importing issues - Other minor fixes
1 parent 4758267 commit 115c383

9 files changed

Lines changed: 59 additions & 37 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
### 1.4.169 - 2020/03/31
2+
* Fixed Stormbind and Barrage Support not importing correctly when importing a character's skills
3+
* Fixed certain Cluster Jewels not importing correctly
4+
* Fixed "Added Small Passive Skills have X% increased Effect" also affecting notables
5+
16
### 1.4.168 - 2020/03/24
27
* Fixed Medium Cluster Jewels with 1 socket and 1 notable generating bad clusters
38

Classes/ImportTab.lua

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -669,16 +669,18 @@ function ImportTabClass:ImportItem(itemData, slotName)
669669
item.explicitModLines = { }
670670
if itemData.enchantMods then
671671
for _, line in ipairs(itemData.enchantMods) do
672-
line = line:gsub("\n"," ")
673-
local modList, extra = modLib.parseMod[self.build.targetVersion](line)
674-
t_insert(item.enchantModLines, { line = line, extra = extra, mods = modList or { }, crafted = true })
672+
for line in line:gmatch("[^\n]+") do
673+
local modList, extra = modLib.parseMod[self.build.targetVersion](line)
674+
t_insert(item.enchantModLines, { line = line, extra = extra, mods = modList or { }, crafted = true })
675+
end
675676
end
676677
end
677678
if itemData.implicitMods then
678679
for _, line in ipairs(itemData.implicitMods) do
679-
line = line:gsub("\n"," ")
680-
local modList, extra = modLib.parseMod[self.build.targetVersion](line)
681-
t_insert(item.implicitModLines, { line = line, extra = extra, mods = modList or { } })
680+
for line in line:gmatch("[^\n]+") do
681+
local modList, extra = modLib.parseMod[self.build.targetVersion](line)
682+
t_insert(item.implicitModLines, { line = line, extra = extra, mods = modList or { } })
683+
end
682684
end
683685
end
684686
if itemData.fracturedMods then
@@ -739,26 +741,34 @@ function ImportTabClass:ImportSocketedItems(item, socketedItems, slotName)
739741
self:ImportItem(socketedItem, slotName .. " Abyssal Socket "..abyssalSocketId)
740742
abyssalSocketId = abyssalSocketId + 1
741743
else
742-
local gemInstance = { level = 20, quality = 0, enabled = true, enableGlobal1 = true }
743-
gemInstance.nameSpec = socketedItem.typeLine:gsub(" Support","")
744-
gemInstance.support = socketedItem.support
745-
for _, property in pairs(socketedItem.properties) do
746-
if property.name == "Level" then
747-
gemInstance.level = tonumber(property.values[1][1]:match("%d+"))
748-
elseif property.name == "Quality" then
749-
gemInstance.quality = tonumber(property.values[1][1]:match("%d+"))
750-
end
744+
local gemId = self.build.data.gemForBaseName[socketedItem.typeLine]
745+
if not gemId and socketedItem.hybrid then
746+
-- Dual skill gems (currently just Stormbind) show the second skill as the typeLine, which won't match the actual gem
747+
-- Luckily the primary skill name is also there, so we can find the gem using that
748+
gemId = self.build.data.gemForBaseName[socketedItem.hybrid.baseTypeName]
751749
end
752-
local groupID = item.sockets[socketedItem.socket + 1].group
753-
if not itemSocketGroupList[groupID] then
754-
itemSocketGroupList[groupID] = { label = "", enabled = true, gemList = { }, slot = slotName }
755-
end
756-
local socketGroup = itemSocketGroupList[groupID]
757-
if not socketedItem.support and socketGroup.gemList[1] and socketGroup.gemList[1].support then
758-
-- If the first gemInstance is a support gemInstance, put the first active gemInstance before it
759-
t_insert(socketGroup.gemList, 1, gemInstance)
760-
else
761-
t_insert(socketGroup.gemList, gemInstance)
750+
if gemId then
751+
local gemInstance = { level = 20, quality = 0, enabled = true, enableGlobal1 = true, gemId = gemId }
752+
gemInstance.nameSpec = self.build.data.gems[gemId].name
753+
gemInstance.support = socketedItem.support
754+
for _, property in pairs(socketedItem.properties) do
755+
if property.name == "Level" then
756+
gemInstance.level = tonumber(property.values[1][1]:match("%d+"))
757+
elseif property.name == "Quality" then
758+
gemInstance.quality = tonumber(property.values[1][1]:match("%d+"))
759+
end
760+
end
761+
local groupID = item.sockets[socketedItem.socket + 1].group
762+
if not itemSocketGroupList[groupID] then
763+
itemSocketGroupList[groupID] = { label = "", enabled = true, gemList = { }, slot = slotName }
764+
end
765+
local socketGroup = itemSocketGroupList[groupID]
766+
if not socketedItem.support and socketGroup.gemList[1] and socketGroup.gemList[1].support then
767+
-- If the first gemInstance is a support gemInstance, put the first active gemInstance before it
768+
t_insert(socketGroup.gemList, 1, gemInstance)
769+
else
770+
t_insert(socketGroup.gemList, gemInstance)
771+
end
762772
end
763773
end
764774
end

Classes/PassiveSpec.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,7 @@ function PassiveSpecClass:BuildSubgraph(jewel, parentSocket, id, upSize)
864864
node.linked = { }
865865
node.power = { }
866866
self.tree:ProcessNode(node)
867-
if node.modList and jewelData.clusterJewelIncEffect then
867+
if node.modList and node.type == "Normal" and jewelData.clusterJewelIncEffect then
868868
node.modList:NewMod("PassiveSkillEffect", "INC", jewelData.clusterJewelIncEffect)
869869
end
870870
end

Classes/SkillsTab.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ function SkillsTabClass:ProcessSocketGroup(socketGroup)
570570
end
571571
elseif gemInstance.nameSpec:match("%S") then
572572
-- Specified by gem/skill name, try to match it
573-
-- Used during character import, and to migrate pre-1.4.20 builds
573+
-- Used to migrate pre-1.4.20 builds
574574
gemInstance.errMsg, gemInstance.gemData = self:FindSkillGem(gemInstance.nameSpec)
575575
gemInstance.gemId = gemInstance.gemData and gemInstance.gemData.id
576576
gemInstance.skillId = gemInstance.gemData and gemInstance.gemData.grantedEffectId

Data/3_0/ModCache.lua

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Modules/Data.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,10 +233,12 @@ for _, targetVersion in ipairs(targetVersionList) do
233233
-- Load gems
234234
verData.gems = dataModule("Gems")
235235
verData.gemForSkill = { }
236+
verData.gemForBaseName = { }
236237
for gemId, gem in pairs(verData.gems) do
237238
gem.id = gemId
238239
gem.grantedEffect = verData.skills[gem.grantedEffectId]
239240
verData.gemForSkill[gem.grantedEffect] = gemId
241+
verData.gemForBaseName[gem.name .. (gem.grantedEffect.support and " Support" or "")] = gemId
240242
gem.secondaryGrantedEffect = gem.secondaryGrantedEffectId and verData.skills[gem.secondaryGrantedEffectId]
241243
gem.grantedEffectList = {
242244
gem.grantedEffect,

Modules/ModParser-3_0.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ local modNameList = {
8888
["mana reserved"] = "ManaReserved",
8989
["mana reservation"] = "ManaReserved",
9090
["mana reservation of skills"] = "ManaReserved",
91-
["maximum life, mana and global energy shield"] = { "Life", "Mana", "EnergyShield" },
91+
["maximum life, mana and global energy shield"] = { "Life", "Mana", "EnergyShield", tag = { type = "Global" } },
9292
-- Primary defences
9393
["maximum energy shield"] = "EnergyShield",
9494
["energy shield recharge rate"] = "EnergyShieldRecharge",
@@ -1441,6 +1441,7 @@ local specialModList = {
14411441
mod("ExtraAura", "LIST", { mod = mod("Speed", "INC", num) }, { type = "Condition", var = "UsedWarcryRecently" }),
14421442
mod("ExtraAura", "LIST", { mod = mod("MovementSpeed", "INC", num) }, { type = "Condition", var = "UsedWarcryRecently" }),
14431443
} end,
1444+
["enemies you curse take (%d+)%% increased damage"] = function(num) return { mod("AffectedByCurseMod", "LIST", { mod = mod("DamageTaken", "INC", num) }) } end,
14441445
-- Traps, Mines and Totems
14451446
["traps and mines deal (%d+)%-(%d+) additional physical damage"] = function(_, min, max) return { mod("PhysicalMin", "BASE", tonumber(min), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)), mod("PhysicalMax", "BASE", tonumber(max), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end,
14461447
["traps and mines deal (%d+) to (%d+) additional physical damage"] = function(_, min, max) return { mod("PhysicalMin", "BASE", tonumber(min), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)), mod("PhysicalMax", "BASE", tonumber(max), nil, 0, bor(KeywordFlag.Trap, KeywordFlag.Mine)) } end,

changelog.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
VERSION[1.4.169][2020/03/31]
2+
* Fixed Stormbind and Barrage Support not importing correctly when importing a character's skills
3+
* Fixed certain Cluster Jewels not importing correctly
4+
* Fixed "Added Small Passive Skills have X% increased Effect" also affecting notables
15
VERSION[1.4.168][2020/03/24]
26
* Fixed Medium Cluster Jewels with 1 socket and 1 notable generating bad clusters
37
VERSION[1.4.167][2020/03/22]

manifest.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<PoBVersion>
3-
<Version number="1.4.168"/>
3+
<Version number="1.4.169"/>
44
<Source part="program" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/"/>
55
<Source part="tree" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/"/>
66
<Source part="tree-2_6" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/tree-2_6.zip"/>
@@ -14,7 +14,7 @@
1414
<File sha1="72b9bea1871e94a643e4471fd84bbedbc7810336" name="UpdateCheck.lua" part="program"/>
1515
<File sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" name="UpdateApply.lua" part="program"/>
1616
<File sha1="4cf43ef67fe750c22e15c7a63d7f77cce7768dba" name="GameVersions.lua" part="program"/>
17-
<File sha1="273fd98cf1200bcab7a41e367bc869dba4c97a14" name="changelog.txt" part="program"/>
17+
<File sha1="9163117e7fbd5dc8bdd233450b9e8524a7ac95c1" name="changelog.txt" part="program"/>
1818
<File sha1="b093a2709f30c1f83ce5ba9df88c80f22c1beb4a" name="Classes/BuildListControl.lua" part="program"/>
1919
<File sha1="16fc5eaa04cc14b2022f6705a12717935454dab0" name="Classes/ButtonControl.lua" part="program"/>
2020
<File sha1="cbd81d978d2bcb18b3e705ff3b27e2556f632cde" name="Classes/CalcBreakdownControl.lua" part="program"/>
@@ -28,7 +28,7 @@
2828
<File sha1="8e8340df34a9a27374fe48e0ebcb633ef03af550" name="Classes/EditControl.lua" part="program"/>
2929
<File sha1="bcb52d02b8ca9288be255219956d6f0bc4efeedd" name="Classes/FolderListControl.lua" part="program"/>
3030
<File sha1="319221c8a542bd0a37f62dd4d009c1aee3a7adce" name="Classes/GemSelectControl.lua" part="program"/>
31-
<File sha1="9cb40ba93c8eace135f47fbd4c2ce2e6dab2f823" name="Classes/ImportTab.lua" part="program"/>
31+
<File sha1="67ba98f2c87d39e5abffdda24644f0e6f722e9de" name="Classes/ImportTab.lua" part="program"/>
3232
<File sha1="b5ac13a8f2f030a051793ce344940be4f51c4c6d" name="Classes/Item.lua" part="program"/>
3333
<File sha1="9dde4d097a2fdcd4b48531ac309b1310eae7b56d" name="Classes/ItemDBControl.lua" part="program"/>
3434
<File sha1="8298506b88cea37e78c1c5faebc05335b3ace240" name="Classes/ItemListControl.lua" part="program"/>
@@ -42,7 +42,7 @@
4242
<File sha1="2fa5f20b12a4b366dc4b28a2a873699b834766d6" name="Classes/ModList.lua" part="program"/>
4343
<File sha1="9cf4d06384857b6f5fb86c67ecefbf6f1fa62ee3" name="Classes/ModStore.lua" part="program"/>
4444
<File sha1="cc7c5eff58c2868cdc7d4c1bf9a967aa8c448c9e" name="Classes/NotesTab.lua" part="program"/>
45-
<File sha1="c35fe82dd92e4faf4a4171c5da905af86a9d94c9" name="Classes/PassiveSpec.lua" part="program"/>
45+
<File sha1="23e48f2f89d522d5bbf5b512b0382f00d1a64fc1" name="Classes/PassiveSpec.lua" part="program"/>
4646
<File sha1="ab46589aefb4be643f7c1e95ba52d7916128b865" name="Classes/PassiveSpecListControl.lua" part="program"/>
4747
<File sha1="67c5833a49598d4f5b689427a1f04bd9c28ee325" name="Classes/PassiveTree.lua" part="program"/>
4848
<File sha1="070766a4f0a4362ae5e9bdd3f9713051cae81791" name="Classes/PassiveTreeView.lua" part="program"/>
@@ -53,7 +53,7 @@
5353
<File sha1="917978ae386092c1d37b2bf121fbc9107e4d2b6b" name="Classes/SharedItemListControl.lua" part="program"/>
5454
<File sha1="441ad6269d2992ee1de9e249ecbb4638653bcbde" name="Classes/SharedItemSetListControl.lua" part="program"/>
5555
<File sha1="c3ac5329ade721b25e7ae38563368d6e71791f5a" name="Classes/SkillListControl.lua" part="program"/>
56-
<File sha1="6d028279b9d0f57a101f5821bf30ca7cd992a43b" name="Classes/SkillsTab.lua" part="program"/>
56+
<File sha1="bb58d041523c44b8e77704398d36971756690cd1" name="Classes/SkillsTab.lua" part="program"/>
5757
<File sha1="c6dea22945dcfa8b2a681468ed8dab16eeae7929" name="Classes/SliderControl.lua" part="program"/>
5858
<File sha1="bb62a34443d64f21c5f0e3e00cae736a8eb6bd87" name="Classes/TextListControl.lua" part="program"/>
5959
<File sha1="a9c6a1965fb2d7b7435bd635cd4241ee6e771ec9" name="Classes/Tooltip.lua" part="program"/>
@@ -76,11 +76,11 @@
7676
<File sha1="ad095534e9fc900879b8793e937b5668d2d29aab" name="Modules/CalcTools.lua" part="program"/>
7777
<File sha1="fef899d2413e9fa67df808e4f6de533b263ddcd7" name="Modules/Common.lua" part="program"/>
7878
<File sha1="68365ddda91d1002e2f967a4535aa58c17685ada" name="Modules/ConfigOptions.lua" part="program"/>
79-
<File sha1="7e7ec2a68c258c00e0a7252eca544fb51fc6d015" name="Modules/Data.lua" part="program"/>
79+
<File sha1="63e39141559cc230488874d7824cd1f9a24ccad8" name="Modules/Data.lua" part="program"/>
8080
<File sha1="d74918586d5ae396fc9bea4c4b6e4aa6bfad8d3e" name="Modules/ItemTools.lua" part="program"/>
8181
<File sha1="8921a99ea9bd3e4eb352a0ed50a0242d58173b70" name="Modules/Main.lua" part="program"/>
8282
<File sha1="fc2d3bdf7a4e57894b3d04beb83485cc6dcc5e26" name="Modules/ModParser-2_6.lua" part="program"/>
83-
<File sha1="2461fa2d108ca6506bd5fbfa712f922d04496a04" name="Modules/ModParser-3_0.lua" part="program"/>
83+
<File sha1="3a61e1b4dd05f5bd325fc7202042b7f5b0da655f" name="Modules/ModParser-3_0.lua" part="program"/>
8484
<File sha1="2ce4f3b83db992a286bd92f3849d037d6dcc8db2" name="Modules/ModTools.lua" part="program"/>
8585
<File sha1="cb77b8c6931a5c4c4695fc66f222422365d19a73" name="Modules/StatDescriber.lua" part="program"/>
8686
<File sha1="c345cdcf374d271411aa424ab150c0edbb5a362d" name="Assets/game_ui_small.png" part="program"/>
@@ -161,7 +161,7 @@
161161
<File sha1="d5d4cef749cd941faac6712af57f58134ff70f8c" name="Data/3_0/Gems.lua" part="program"/>
162162
<File sha1="7cc4a932e49bf54e32487dfe7c64809593bc69c3" name="Data/3_0/Minions.lua" part="program"/>
163163
<File sha1="0d0ff8a9b691c2daa94fd51c8a35f6a0771c39cf" name="Data/3_0/Misc.lua" part="program"/>
164-
<File sha1="24e36a88f117d9f8faf8319ac5e7aeb346ed9c8c" name="Data/3_0/ModCache.lua" part="program"/>
164+
<File sha1="41b88193ed1a99c3a9d96e1f32db27c6103bf742" name="Data/3_0/ModCache.lua" part="program"/>
165165
<File sha1="f7c3d168265f7b0ba7cf8da1268f59d014194867" name="Data/3_0/ModFlask.lua" part="program"/>
166166
<File sha1="aa61b7b715cdea9333cbe133b8dc7ffbe5820238" name="Data/3_0/ModItem.lua" part="program"/>
167167
<File sha1="f1f46093699e48f16ffd45f674e6b954dc8ac89e" name="Data/3_0/ModJewel.lua" part="program"/>

0 commit comments

Comments
 (0)