Skip to content

Commit 87bc176

Browse files
author
LocalIdentity
committed
Merge branch 'dev'
2 parents 3c3c9ff + a1c161e commit 87bc176

15 files changed

+197
-163
lines changed

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## [v2.47.3](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.47.3) (2024/07/30)
4+
5+
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.47.2...v2.47.3)
6+
7+
<!-- Release notes generated using configuration in .github/release.yml at dev -->
8+
9+
## What's Changed
10+
### Fixed Crashes
11+
- Fix crash when importing builds to Party tab [\#8022](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8022) ([Regisle](https://github.com/Regisle))
12+
- Fix crash when using Svalin unique shield [\#8023](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8023) ([Paliak](https://github.com/Paliak))
13+
### Fixed Calculations
14+
- Fix Inspiration granting more Mana cost instead of Less [\#8015](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8015) ([LocalIdentity](https://github.com/LocalIdentity))
15+
- Fix Warcry trigger rate calculations [\#8025](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8025) ([Paliak](https://github.com/Paliak))
16+
- Fix Overexertion and Echoes of Creation counting non-exerting Warcries [\#8027](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8027) ([LocalIdentity](https://github.com/LocalIdentity))
17+
- Fixes Rupture using the wrong stat for damage taken and Bleed duration [\#8030](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8030) ([dreais](https://github.com/dreais))
18+
### Fixed Behaviours
19+
- Fix Autoexertion not triggering supported skills [\#8026](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8026) ([Paliak](https://github.com/Paliak))
20+
- Fix Autoexertion not applying Mana reservation to Warcries [\#8029](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8029) ([LocalIdentity](https://github.com/LocalIdentity))
21+
- Fix Poison stacks not being capped by skills and config option [\#8035](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8035) ([LocalIdentity](https://github.com/LocalIdentity))
22+
- Fix item quality not defaulting to 20% [\#8032](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8032) ([ConnorThelin](https://github.com/ConnorThelin))
23+
24+
25+
326
## [v2.47.2](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.47.2) (2024/07/29)
427

528
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.47.1...v2.47.2)

changelog.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
VERSION[2.47.3][2024/07/30]
2+
3+
--- Fixed Crashes ---
4+
* Fix crash when importing builds to Party tab (Regisle)
5+
* Fix crash when using Svalin unique shield (Paliak)
6+
7+
--- Fixed Calculations ---
8+
* Fix Inspiration granting more Mana cost instead of Less (LocalIdentity)
9+
* Fix Warcry trigger rate calculations (Paliak)
10+
* Fix Overexertion and Echoes of Creation counting non-exerting Warcries (LocalIdentity)
11+
* Fixes Rupture using the wrong stat for damage taken and Bleed duration (dreais)
12+
13+
--- Fixed Behaviours ---
14+
* Fix Autoexertion not triggering supported skills (Paliak)
15+
* Fix Autoexertion not applying Mana reservation to Warcries (LocalIdentity)
16+
* Fix Poison stacks not being capped by skills and config option (LocalIdentity)
17+
* Fix item quality not defaulting to 20% (ConnorThelin)
18+
119
VERSION[2.47.2][2024/07/29]
220

321
--- Fixed Calculations ---

manifest.xml

Lines changed: 1 addition & 1 deletion
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="2.47.2" />
3+
<Version number="2.47.3" />
44
<Source part="default" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/" />
55
<Source part="runtime" platform="win32" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/runtime/" />
66
<Source part="program" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/src/" />

src/Classes/ItemsTab.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1955,7 +1955,7 @@ function ItemsTabClass:CraftItem()
19551955
item.implicitModLines = { }
19561956
item.explicitModLines = { }
19571957
item.crucibleModLines = { }
1958-
if base.base.type ~= "Amulet" or base.base.type ~= "Belt" or base.base.type ~= "Jewel" or base.base.type ~= "Quiver" or base.base.type ~= "Ring" then
1958+
if base.base.type == "Amulet" or base.base.type == "Belt" or base.base.type == "Jewel" or base.base.type == "Quiver" or base.base.type == "Ring" then
19591959
item.quality = nil
19601960
else
19611961
item.quality = 0

src/Data/Skills/sup_dex.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3133,10 +3133,10 @@ skills["SupportRupture"] = {
31333133
excludeSkillTypes = { },
31343134
statDescriptionScope = "gem_stat_descriptions",
31353135
statMap = {
3136-
["support_rupture_bleeding_time_passed_+%_final"] = {
3136+
["support_rupture_bleeding_damage_taken_+%_final"] = {
31373137
mod("DamageTaken", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
31383138
},
3139-
["support_rupture_bleeding_damage_taken_+%_final"] = {
3139+
["support_rupture_bleeding_time_passed_+%_final"] = {
31403140
mod("BleedExpireRate", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
31413141
},
31423142
["critical_strikes_that_inflict_bleeding_also_rupture"] = {

src/Data/Skills/sup_str.lua

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3757,7 +3757,6 @@ skills["SupportInspiration"] = {
37573757
},
37583758
["support_inspiration_mana_cost_+%_final"] = {
37593759
mod("ManaCost", "MORE", nil),
3760-
mult = -1,
37613760
},
37623761
},
37633762
qualityStats = {
@@ -4496,7 +4495,7 @@ skills["SupportOverexertion"] = {
44964495
mod("ExertIncrease", "INC", nil)
44974496
},
44984497
["support_overexertion_damage_+%_final_per_warcry_exerting_action"] = {
4499-
mod("AutoexertionExertAverageIncrease", "MORE", nil)
4498+
mod("OverexertionExertAverageIncrease", "MORE", nil)
45004499
},
45014500
},
45024501
qualityStats = {

src/Export/Classes/GGPKData.lua

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ local function scanDir(directory, extension)
1111
local t = { }
1212
local pFile = io.popen('dir "'..directory..'" /b')
1313
for filename in pFile:lines() do
14+
filename = filename:gsub('\r?$', '')
1415
--ConPrintf("%s\n", filename)
1516
if extension then
1617
if filename:match(extension) then
@@ -35,8 +36,8 @@ local GGPKClass = newClass("GGPKData", function(self, path, datPath)
3536
self.oozPath = datPath:match("\\$") and datPath or (datPath .. "\\")
3637
else
3738
self.path = path
38-
self.temp = io.popen("cd"):read('*l')
39-
self.oozPath = self.temp .. "\\ggpk\\"
39+
self.oozPath = io.popen("cd"):read('*l'):gsub('\r?', '') .. "\\ggpk\\"
40+
self:CleanDir()
4041
self:ExtractFiles()
4142
end
4243

@@ -50,6 +51,11 @@ local GGPKClass = newClass("GGPKData", function(self, path, datPath)
5051
end
5152
end)
5253

54+
function GGPKClass:CleanDir()
55+
local cmd = 'del ' .. self.oozPath .. 'Data ' .. self.oozPath .. 'Metadata /Q /S'
56+
ConPrintf(cmd)
57+
os.execute(cmd)
58+
end
5359

5460
function GGPKClass:ExtractFilesWithBun(fileListStr)
5561
local cmd = 'cd ' .. self.oozPath .. ' && bun_extract_file.exe extract-files "' .. self.path .. '" . ' .. fileListStr
@@ -267,7 +273,8 @@ function GGPKClass:GetNeededFiles()
267273
"Data/Commands.dat",
268274
"Data/ModEquivalencies.dat",
269275
"Data/InfluenceTags.dat",
270-
"Data/InfluenceTypes.dat"
276+
"Data/InfluenceTypes.dat",
277+
"Data/leaguenames.dat"
271278
}
272279
local txtFiles = {
273280
"Metadata/StatDescriptions/passive_skill_aura_stat_descriptions.txt",

src/Export/Classes/GGPKSourceListControl.lua

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,22 @@ function GGPKSourceListClass:EditDATSource(datSource, newSource)
2828
controls.label = new("EditControl", nil, 85, 20, 180, 20, datSource.label, nil, nil, nil, function(buf)
2929
controls.save.enabled = (controls.dat.buf:match("%S") or controls.ggpk.buf:match("%S")) and buf:match("%S")
3030
end)
31-
controls.ggpkLabel = new("LabelControl", nil, 0, 40, 0, 16, "^7GGPK/Steam PoE path:")
31+
controls.ggpkLabel = new("LabelControl", nil, 0, 40, 0, 16, "^7Source from GGPK/Steam PoE path:")
3232
controls.ggpk = new("EditControl", {"TOP",controls.ggpkLabel,"TOP"}, 0, 20, 350, 20, datSource.ggpkPath, nil, nil, nil, function(buf)
3333
controls.save.enabled = (buf:match("%S") or controls.dat.buf:match("%S")) and controls.label.buf:match("%S") and controls.spec.buf:match("%S")
3434
end)
35-
controls.datLabel = new("LabelControl", {"TOP",controls.ggpk,"TOP"}, 0, 22, 0, 16, "^7DAT File location:")
35+
controls.ggpk.enabled = function() return not controls.dat.buf:match("%S") end
36+
controls.datLabel = new("LabelControl", {"TOP",controls.ggpk,"TOP"}, 0, 22, 0, 16, "^7Source from DAT files:")
3637
controls.dat = new("EditControl", {"TOP",controls.datLabel,"TOP"}, 0, 20, 350, 20, datSource.datFilePath, nil, nil, nil, function(buf)
3738
controls.save.enabled = (buf:match("%S") or controls.ggpk.buf:match("%S")) and controls.label.buf:match("%S") and controls.spec.buf:match("%S")
3839
end)
40+
controls.dat.enabled = function() return not controls.ggpk.buf:match("%S") end
3941
controls.specLabel = new("LabelControl", {"TOP",controls.dat,"TOP"}, 0, 22, 0, 16, "^7Spec File location:")
4042
controls.spec = new("EditControl", {"TOP",controls.specLabel,"TOP"}, 0, 20, 350, 20, datSource.spec or "spec.lua", nil, nil, nil, function(buf)
4143
controls.save.enabled = (controls.dat.buf:match("%S") or controls.ggpk.buf:match("%S")) and controls.label.buf:match("%S") and buf:match("%S")
4244
end)
4345
controls.save = new("ButtonControl", {"TOP",controls.spec,"TOP"}, -45, 22, 80, 20, "Save", function()
46+
local reload = datSource.label == main.datSource.label
4447
datSource.label = controls.label.buf
4548
datSource.ggpkPath = controls.ggpk.buf or ""
4649
datSource.datFilePath = controls.dat.buf or ""
@@ -50,6 +53,9 @@ function GGPKSourceListClass:EditDATSource(datSource, newSource)
5053
self.selIndex = #self.list
5154
self.selValue = datSource
5255
end
56+
if reload then
57+
main:LoadDatSource(datSource)
58+
end
5359
main:ClosePopup()
5460
end)
5561
controls.save.enabled = false

src/Export/Main.lua

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ function main:Init()
8282
else
8383
self:LoadDatFiles()
8484
end
85+
if self.datFileByName["leaguenames"] then
86+
self.leagueLabel = self.datFileByName["leaguenames"]:ReadValueText({ type = "String" }, self.datFileByName["leaguenames"].rows[2] + 8)
87+
end
8588
end
8689

8790
self.scriptList = { }
@@ -152,25 +155,15 @@ function main:Init()
152155

153156
self.colList = { }
154157

155-
self.controls.datSourceLabel = new("LabelControl", nil, 10, 10, 100, 16, "^7GGPK/Steam PoE path:")
158+
self.controls.shownLeagueLabel = new("LabelControl", nil, 10, 10, 100, 16, "^7Data from:")
159+
self.controls.leagueLabel = new("LabelControl", { "LEFT", self.controls.shownLeagueLabel, "RIGHT"}, 10, 0, 100, 16, function() return "^7" .. (self.leagueLabel or "Unknown") end)
156160
self.controls.addSource = new("ButtonControl", nil, 10, 30, 100, 18, "Edit Sources...", function()
157161
self.OpenPathPopup()
158162
end)
159163

160164
self.datSources = self.datSources or { }
161165
self.controls.datSource = new("DropDownControl", nil, 10, 50, 250, 18, self.datSources, function(_, value)
162-
local out = io.open(self.datSource.spec..(self.datSource.spec:match("%.lua$") and "" or ".lua"), "w")
163-
out:write('return ')
164-
writeLuaTable(out, self.datSpecs, 1)
165-
out:close()
166-
self.datSource = value
167-
self.datSpecs = LoadModule(self.datSource.spec)
168-
self:InitGGPK()
169-
if USE_DAT64 then
170-
self:LoadDat64Files()
171-
else
172-
self:LoadDatFiles()
173-
end
166+
self:LoadDatSource(value)
174167
end, nil)
175168

176169
if self.datSource and self.datSource.label then
@@ -339,6 +332,25 @@ function main:CanExit()
339332
return true
340333
end
341334

335+
function main:LoadDatSource(value)
336+
self.leagueLabel = nil
337+
local out = io.open(self.datSource.spec..(self.datSource.spec:match("%.lua$") and "" or ".lua"), "w")
338+
out:write('return ')
339+
writeLuaTable(out, self.datSpecs, 1)
340+
out:close()
341+
self.datSource = value
342+
self.datSpecs = LoadModule(self.datSource.spec)
343+
self:InitGGPK()
344+
if USE_DAT64 then
345+
self:LoadDat64Files()
346+
else
347+
self:LoadDatFiles()
348+
end
349+
if self.datFileByName["leaguenames"] then
350+
self.leagueLabel = self.datFileByName["leaguenames"]:ReadValueText({ type = "String" }, self.datFileByName["leaguenames"].rows[2] + 8)
351+
end
352+
end
353+
342354
function main:OpenPathPopup()
343355
main:OpenPopup(370, 290, "Manage GGPK versions", {
344356
new("GGPKSourceListControl", nil, 0, 50, 350, 200, self),
@@ -416,8 +428,8 @@ function main:InitGGPK()
416428
return
417429
else
418430
local now = GetTime()
419-
local ggpkPath = self.datSource.ggpkPath or self.datSource.datFilePath
420-
if ggpkPath then
431+
local ggpkPath = self.datSource.ggpkPath
432+
if ggpkPath and ggpkPath ~= "" then
421433
self.ggpk = new("GGPKData", ggpkPath)
422434
ConPrintf("GGPK: %d ms", GetTime() - now)
423435
elseif self.datSource.datFilePath then

src/Export/Skills/sup_dex.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,10 +376,10 @@ local skills, mod, flag, skill = ...
376376

377377
#skill SupportRupture
378378
statMap = {
379-
["support_rupture_bleeding_time_passed_+%_final"] = {
379+
["support_rupture_bleeding_damage_taken_+%_final"] = {
380380
mod("DamageTaken", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
381381
},
382-
["support_rupture_bleeding_damage_taken_+%_final"] = {
382+
["support_rupture_bleeding_time_passed_+%_final"] = {
383383
mod("BleedExpireRate", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
384384
},
385385
["critical_strikes_that_inflict_bleeding_also_rupture"] = {

src/Export/Skills/sup_str.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,6 @@ local skills, mod, flag, skill = ...
527527
},
528528
["support_inspiration_mana_cost_+%_final"] = {
529529
mod("ManaCost", "MORE", nil),
530-
mult = -1,
531530
},
532531
},
533532
#mods
@@ -632,7 +631,7 @@ local skills, mod, flag, skill = ...
632631
mod("ExertIncrease", "INC", nil)
633632
},
634633
["support_overexertion_damage_+%_final_per_warcry_exerting_action"] = {
635-
mod("AutoexertionExertAverageIncrease", "MORE", nil)
634+
mod("OverexertionExertAverageIncrease", "MORE", nil)
636635
},
637636
},
638637
#mods

0 commit comments

Comments
 (0)