Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
LocalIdentity committed Jul 30, 2024
2 parents 3c3c9ff + a1c161e commit 87bc176
Show file tree
Hide file tree
Showing 15 changed files with 197 additions and 163 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Changelog

## [v2.47.3](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.47.3) (2024/07/30)

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

<!-- Release notes generated using configuration in .github/release.yml at dev -->

## What's Changed
### Fixed Crashes
- Fix crash when importing builds to Party tab [\#8022](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8022) ([Regisle](https://github.com/Regisle))
- Fix crash when using Svalin unique shield [\#8023](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8023) ([Paliak](https://github.com/Paliak))
### Fixed Calculations
- Fix Inspiration granting more Mana cost instead of Less [\#8015](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8015) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Warcry trigger rate calculations [\#8025](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8025) ([Paliak](https://github.com/Paliak))
- Fix Overexertion and Echoes of Creation counting non-exerting Warcries [\#8027](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8027) ([LocalIdentity](https://github.com/LocalIdentity))
- 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))
### Fixed Behaviours
- Fix Autoexertion not triggering supported skills [\#8026](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8026) ([Paliak](https://github.com/Paliak))
- Fix Autoexertion not applying Mana reservation to Warcries [\#8029](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8029) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Poison stacks not being capped by skills and config option [\#8035](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8035) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix item quality not defaulting to 20% [\#8032](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8032) ([ConnorThelin](https://github.com/ConnorThelin))



## [v2.47.2](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.47.2) (2024/07/29)

[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.47.1...v2.47.2)
Expand Down
18 changes: 18 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
VERSION[2.47.3][2024/07/30]

--- Fixed Crashes ---
* Fix crash when importing builds to Party tab (Regisle)
* Fix crash when using Svalin unique shield (Paliak)

--- Fixed Calculations ---
* Fix Inspiration granting more Mana cost instead of Less (LocalIdentity)
* Fix Warcry trigger rate calculations (Paliak)
* Fix Overexertion and Echoes of Creation counting non-exerting Warcries (LocalIdentity)
* Fixes Rupture using the wrong stat for damage taken and Bleed duration (dreais)

--- Fixed Behaviours ---
* Fix Autoexertion not triggering supported skills (Paliak)
* Fix Autoexertion not applying Mana reservation to Warcries (LocalIdentity)
* Fix Poison stacks not being capped by skills and config option (LocalIdentity)
* Fix item quality not defaulting to 20% (ConnorThelin)

VERSION[2.47.2][2024/07/29]

--- Fixed Calculations ---
Expand Down
2 changes: 1 addition & 1 deletion manifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<PoBVersion>
<Version number="2.47.2" />
<Version number="2.47.3" />
<Source part="default" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/" />
<Source part="runtime" platform="win32" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/runtime/" />
<Source part="program" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/src/" />
Expand Down
2 changes: 1 addition & 1 deletion src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1955,7 +1955,7 @@ function ItemsTabClass:CraftItem()
item.implicitModLines = { }
item.explicitModLines = { }
item.crucibleModLines = { }
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
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
item.quality = nil
else
item.quality = 0
Expand Down
4 changes: 2 additions & 2 deletions src/Data/Skills/sup_dex.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3133,10 +3133,10 @@ skills["SupportRupture"] = {
excludeSkillTypes = { },
statDescriptionScope = "gem_stat_descriptions",
statMap = {
["support_rupture_bleeding_time_passed_+%_final"] = {
["support_rupture_bleeding_damage_taken_+%_final"] = {
mod("DamageTaken", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
},
["support_rupture_bleeding_damage_taken_+%_final"] = {
["support_rupture_bleeding_time_passed_+%_final"] = {
mod("BleedExpireRate", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
},
["critical_strikes_that_inflict_bleeding_also_rupture"] = {
Expand Down
3 changes: 1 addition & 2 deletions src/Data/Skills/sup_str.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3757,7 +3757,6 @@ skills["SupportInspiration"] = {
},
["support_inspiration_mana_cost_+%_final"] = {
mod("ManaCost", "MORE", nil),
mult = -1,
},
},
qualityStats = {
Expand Down Expand Up @@ -4496,7 +4495,7 @@ skills["SupportOverexertion"] = {
mod("ExertIncrease", "INC", nil)
},
["support_overexertion_damage_+%_final_per_warcry_exerting_action"] = {
mod("AutoexertionExertAverageIncrease", "MORE", nil)
mod("OverexertionExertAverageIncrease", "MORE", nil)
},
},
qualityStats = {
Expand Down
13 changes: 10 additions & 3 deletions src/Export/Classes/GGPKData.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ local function scanDir(directory, extension)
local t = { }
local pFile = io.popen('dir "'..directory..'" /b')
for filename in pFile:lines() do
filename = filename:gsub('\r?$', '')
--ConPrintf("%s\n", filename)
if extension then
if filename:match(extension) then
Expand All @@ -35,8 +36,8 @@ local GGPKClass = newClass("GGPKData", function(self, path, datPath)
self.oozPath = datPath:match("\\$") and datPath or (datPath .. "\\")
else
self.path = path
self.temp = io.popen("cd"):read('*l')
self.oozPath = self.temp .. "\\ggpk\\"
self.oozPath = io.popen("cd"):read('*l'):gsub('\r?', '') .. "\\ggpk\\"
self:CleanDir()
self:ExtractFiles()
end

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

function GGPKClass:CleanDir()
local cmd = 'del ' .. self.oozPath .. 'Data ' .. self.oozPath .. 'Metadata /Q /S'
ConPrintf(cmd)
os.execute(cmd)
end

function GGPKClass:ExtractFilesWithBun(fileListStr)
local cmd = 'cd ' .. self.oozPath .. ' && bun_extract_file.exe extract-files "' .. self.path .. '" . ' .. fileListStr
Expand Down Expand Up @@ -267,7 +273,8 @@ function GGPKClass:GetNeededFiles()
"Data/Commands.dat",
"Data/ModEquivalencies.dat",
"Data/InfluenceTags.dat",
"Data/InfluenceTypes.dat"
"Data/InfluenceTypes.dat",
"Data/leaguenames.dat"
}
local txtFiles = {
"Metadata/StatDescriptions/passive_skill_aura_stat_descriptions.txt",
Expand Down
10 changes: 8 additions & 2 deletions src/Export/Classes/GGPKSourceListControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,22 @@ function GGPKSourceListClass:EditDATSource(datSource, newSource)
controls.label = new("EditControl", nil, 85, 20, 180, 20, datSource.label, nil, nil, nil, function(buf)
controls.save.enabled = (controls.dat.buf:match("%S") or controls.ggpk.buf:match("%S")) and buf:match("%S")
end)
controls.ggpkLabel = new("LabelControl", nil, 0, 40, 0, 16, "^7GGPK/Steam PoE path:")
controls.ggpkLabel = new("LabelControl", nil, 0, 40, 0, 16, "^7Source from GGPK/Steam PoE path:")
controls.ggpk = new("EditControl", {"TOP",controls.ggpkLabel,"TOP"}, 0, 20, 350, 20, datSource.ggpkPath, nil, nil, nil, function(buf)
controls.save.enabled = (buf:match("%S") or controls.dat.buf:match("%S")) and controls.label.buf:match("%S") and controls.spec.buf:match("%S")
end)
controls.datLabel = new("LabelControl", {"TOP",controls.ggpk,"TOP"}, 0, 22, 0, 16, "^7DAT File location:")
controls.ggpk.enabled = function() return not controls.dat.buf:match("%S") end
controls.datLabel = new("LabelControl", {"TOP",controls.ggpk,"TOP"}, 0, 22, 0, 16, "^7Source from DAT files:")
controls.dat = new("EditControl", {"TOP",controls.datLabel,"TOP"}, 0, 20, 350, 20, datSource.datFilePath, nil, nil, nil, function(buf)
controls.save.enabled = (buf:match("%S") or controls.ggpk.buf:match("%S")) and controls.label.buf:match("%S") and controls.spec.buf:match("%S")
end)
controls.dat.enabled = function() return not controls.ggpk.buf:match("%S") end
controls.specLabel = new("LabelControl", {"TOP",controls.dat,"TOP"}, 0, 22, 0, 16, "^7Spec File location:")
controls.spec = new("EditControl", {"TOP",controls.specLabel,"TOP"}, 0, 20, 350, 20, datSource.spec or "spec.lua", nil, nil, nil, function(buf)
controls.save.enabled = (controls.dat.buf:match("%S") or controls.ggpk.buf:match("%S")) and controls.label.buf:match("%S") and buf:match("%S")
end)
controls.save = new("ButtonControl", {"TOP",controls.spec,"TOP"}, -45, 22, 80, 20, "Save", function()
local reload = datSource.label == main.datSource.label
datSource.label = controls.label.buf
datSource.ggpkPath = controls.ggpk.buf or ""
datSource.datFilePath = controls.dat.buf or ""
Expand All @@ -50,6 +53,9 @@ function GGPKSourceListClass:EditDATSource(datSource, newSource)
self.selIndex = #self.list
self.selValue = datSource
end
if reload then
main:LoadDatSource(datSource)
end
main:ClosePopup()
end)
controls.save.enabled = false
Expand Down
42 changes: 27 additions & 15 deletions src/Export/Main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@ function main:Init()
else
self:LoadDatFiles()
end
if self.datFileByName["leaguenames"] then
self.leagueLabel = self.datFileByName["leaguenames"]:ReadValueText({ type = "String" }, self.datFileByName["leaguenames"].rows[2] + 8)
end
end

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

self.colList = { }

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

self.datSources = self.datSources or { }
self.controls.datSource = new("DropDownControl", nil, 10, 50, 250, 18, self.datSources, function(_, value)
local out = io.open(self.datSource.spec..(self.datSource.spec:match("%.lua$") and "" or ".lua"), "w")
out:write('return ')
writeLuaTable(out, self.datSpecs, 1)
out:close()
self.datSource = value
self.datSpecs = LoadModule(self.datSource.spec)
self:InitGGPK()
if USE_DAT64 then
self:LoadDat64Files()
else
self:LoadDatFiles()
end
self:LoadDatSource(value)
end, nil)

if self.datSource and self.datSource.label then
Expand Down Expand Up @@ -339,6 +332,25 @@ function main:CanExit()
return true
end

function main:LoadDatSource(value)
self.leagueLabel = nil
local out = io.open(self.datSource.spec..(self.datSource.spec:match("%.lua$") and "" or ".lua"), "w")
out:write('return ')
writeLuaTable(out, self.datSpecs, 1)
out:close()
self.datSource = value
self.datSpecs = LoadModule(self.datSource.spec)
self:InitGGPK()
if USE_DAT64 then
self:LoadDat64Files()
else
self:LoadDatFiles()
end
if self.datFileByName["leaguenames"] then
self.leagueLabel = self.datFileByName["leaguenames"]:ReadValueText({ type = "String" }, self.datFileByName["leaguenames"].rows[2] + 8)
end
end

function main:OpenPathPopup()
main:OpenPopup(370, 290, "Manage GGPK versions", {
new("GGPKSourceListControl", nil, 0, 50, 350, 200, self),
Expand Down Expand Up @@ -416,8 +428,8 @@ function main:InitGGPK()
return
else
local now = GetTime()
local ggpkPath = self.datSource.ggpkPath or self.datSource.datFilePath
if ggpkPath then
local ggpkPath = self.datSource.ggpkPath
if ggpkPath and ggpkPath ~= "" then
self.ggpk = new("GGPKData", ggpkPath)
ConPrintf("GGPK: %d ms", GetTime() - now)
elseif self.datSource.datFilePath then
Expand Down
4 changes: 2 additions & 2 deletions src/Export/Skills/sup_dex.txt
Original file line number Diff line number Diff line change
Expand Up @@ -376,10 +376,10 @@ local skills, mod, flag, skill = ...

#skill SupportRupture
statMap = {
["support_rupture_bleeding_time_passed_+%_final"] = {
["support_rupture_bleeding_damage_taken_+%_final"] = {
mod("DamageTaken", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
},
["support_rupture_bleeding_damage_taken_+%_final"] = {
["support_rupture_bleeding_time_passed_+%_final"] = {
mod("BleedExpireRate", "MORE", nil, 0, KeywordFlag.Bleed, { type = "GlobalEffect", effectType = "Debuff" }, { type = "Multiplier", var = "RuptureStack", limit = 3 })
},
["critical_strikes_that_inflict_bleeding_also_rupture"] = {
Expand Down
3 changes: 1 addition & 2 deletions src/Export/Skills/sup_str.txt
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,6 @@ local skills, mod, flag, skill = ...
},
["support_inspiration_mana_cost_+%_final"] = {
mod("ManaCost", "MORE", nil),
mult = -1,
},
},
#mods
Expand Down Expand Up @@ -632,7 +631,7 @@ local skills, mod, flag, skill = ...
mod("ExertIncrease", "INC", nil)
},
["support_overexertion_damage_+%_final_per_warcry_exerting_action"] = {
mod("AutoexertionExertAverageIncrease", "MORE", nil)
mod("OverexertionExertAverageIncrease", "MORE", nil)
},
},
#mods
Loading

0 comments on commit 87bc176

Please sign in to comment.