Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
LocalIdentity committed Aug 14, 2024
2 parents 5bb3246 + f253fac commit db202f0
Show file tree
Hide file tree
Showing 70 changed files with 8,978 additions and 8,184 deletions.
64 changes: 63 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,67 @@
# Changelog

## [v2.48.0](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.48.0) (2024/08/15)

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

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

## What's Changed
### New to Path of Building
- Hide legacy Tattoos from dropdown by default [\#8122](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8122) ([LocalIdentity](https://github.com/LocalIdentity), [Peechey](https://github.com/Peechey))
- Add ability to search in the spectre library [\#8059](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8059) ([nofate121](https://github.com/nofate121))
- Add Support for Enemy damaging ailments [\#6814](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6814) ([Regisle](https://github.com/Regisle))
- View Gem level sources in calc sections [\#8092](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8092) ([justjuangui](https://github.com/justjuangui))
- Enable Tincture Effects to also apply to Ranged Weapons [\#8134](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8134) ([Regisle](https://github.com/Regisle))
- Add support for Tincture mods [\#8078](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8078) ([LocalIdentity](https://github.com/LocalIdentity))
- Add support for pseudo recoup like Divine Shield and Juggernaut [\#6833](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6833) ([Regisle](https://github.com/Regisle))
- Add support for some warcry power modifiers [\#8130](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8130) ([Regisle](https://github.com/Regisle))
- Add Warcry effect mod to calcs tab with breakdown [\#8126](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8126) ([Regisle](https://github.com/Regisle))
- Add support for export and importing warcry buffs to the Party Tab [\#8116](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8116) ([Regisle](https://github.com/Regisle))
- Add The Living Blade [\#8065](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8065) ([Nostrademous](https://github.com/Nostrademous))
### Fixed Crashes
- Fix crash when using Power Charge on Crit from Elder staves [\#8048](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8048) ([Wires77](https://github.com/Wires77))
- Fix crash when allocating Blood Magic with Manabond [\#8177](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8177) ([LocalIdentity](https://github.com/LocalIdentity))
### User Interface
- Color mastery differences blue when comparing trees [\#8044](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8044) ([nofate121](https://github.com/nofate121))
- Improve Rage Calcs tab breakdown [\#8145](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8145) ([Regisle](https://github.com/Regisle))
- Fix Calcs tab scroll bar [\#8118](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8118) ([Regisle](https://github.com/Regisle))
- Fix full dps visual bug on gem dropdown [\#8087](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8087) ([Paliak](https://github.com/Paliak))
### Fixed Calculations
- Fix Charge duration not using More/Less modifiers [\#8049](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8049) ([Wires77](https://github.com/Wires77))
- Fix Ynda's Stand Ward conversion mod not taking catalysts into consideration [\#8062](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8062) ([krfreak](https://github.com/krfreak))
- Fix accuracy of scaled Warcry buffs [\#8129](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8109), [\#8129](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8129) ([Regisle](https://github.com/Regisle))
- Fix Ward rounding final value incorrectly [\#8083](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8083) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Hateforge Rage cost calculation [\#8176](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8176) ([LocalIdentity](https://github.com/LocalIdentity))
- Minor improvements to Tinctures and Mana Burn [\#8135](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8135) ([Regisle](https://github.com/Regisle))
### Fixed Behaviours
- Fix issue where PoB did not detect changes when selecting gems via keyboard shortcuts [\#8072](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8072) ([nofate121](https://github.com/nofate121))
- Fix The Light of Meaning adding stats to allocated sockets [\#8108](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8108) ([Paliak](https://github.com/Paliak))
- Fix Rage Effect incorrectly scaling some mods [\#8113](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8113) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Rage Support not enabling Rage damage bonus [\#8178](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8178) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Arcane Surge effect per Summoned Totem mod not working [\#8102](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8102) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Ynda's Stand not working correctly with Trickster's Escape Artist [\#8084](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8084) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Divine Blessing not removing reservation from skill [\#8082](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8082) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Overexertion not applying to skills linked with Generals Cry [\#8040](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8040) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix rare case with gain on suppression with no chance to mitigate damage (eg 100% suppress chance) [\#8121](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8121) ([Regisle](https://github.com/Regisle))
- Fix Warcry options are not shown in all configurations [\#8173](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8173) ([n1tr0xs](https://github.com/n1tr0xs))
- Fix Tattoos being removed from list when using Remove All Tattoos button [\#8171](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8171) ([Peechey](https://github.com/Peechey))
- Fix Minions with Endurance Charges still gaining resists [\#8166](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8166) ([n1tr0xs](https://github.com/n1tr0xs))
- Fix EHP and Maximum Hit taken with negative Unreserved Life [\#8120](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8120) ([Regisle](https://github.com/Regisle))
- Fix Exerted multipliers applying twice when Dual Wielding [\#8174](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8174) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Sand Stance "less damage taken" incorrectly applying to DoT degen [\#8175](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8175) ([LocalIdentity](https://github.com/LocalIdentity))
### Accuracy Improvements
- Update Sap of the Seasons to add new cap [\#8112](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8112) ([Regisle](https://github.com/Regisle))
- Add variant for post 3.21 Combat Focus [\#8111](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8111) ([Paliak](https://github.com/Paliak))
- Fix parsing missing for new wording on Emberwake [\#8110](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8110) ([Paliak](https://github.com/Paliak))
- Fix Maata's Teaching using wrong crit chance range [\#8081](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8081) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix incorrect names for Timeless Jewel nodes [\#8080](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8080) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix Kaom's Primacy Rage mod not working [\#8101](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8101) ([LocalIdentity](https://github.com/LocalIdentity))
- Fix broken base types on some items [\#8141](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8141) ([Regisle](https://github.com/Regisle))
### Fixed Bugs
- Fix infinitely nested XML stored as importLink [\#8066](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/8066) ([Wires77](https://github.com/Wires77))


## [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)
Expand All @@ -9,7 +71,7 @@
## 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))
- Fix crash when using Svalinn 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))
Expand Down
31 changes: 31 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,37 @@ Steps:
7. Restart Path of Building Community. This should result in a new file `tree.lua`.
8. Remove `data.json` and `sprites.json` from the new directory. Do not commit these files.

## Timeless Jewel updates

The Timeless jewels determine what effect they have on a node based on the "Look up Tables" in \src\Data\TimelessJewelData
The LuTs for the Timeless jewels come from https://github.com/Regisle/TimelessJewelData
More information can be found there.

The LuTs PoB uses are slightly different due to historical reasons, and so they can be generated using the generator from there.


-------------------------------------------------------------------------------------------------------
Steps to Generate Timeless Jewel LuTs for PoB:
1. Clone repo from https://github.com/Regisle/TimelessJewelData/tree/Generator
2. Open DatafileGenerator.sln in Visual Studio
3. Grab new data.json tree file
4. Grab new AlternatePassiveAdditions.json and AlternatePassiveSkills.json from https://snosme.github.io/poe-dat-viewer/ and clicking on 'Export data' in the top right
5. Run following commands in the Visual Studio command prompt order, adjusting for file location
dotnet run --project DataFileGenerator
E:\PoB Dev Work\TimelessJewelData\AlternatePassiveAdditions.json
E:\PoB Dev Work\TimelessJewelData\AlternatePassiveSkills.json
E:\PoB Dev Work\GGG Skill Tree\data.json
E:\PoB Dev Work\PathOfBuildingCommunity\src\Data\TimelessJewelData
6. Choose Compressed
7. Replace updated Files in \src\Data\TimelessJewelData

Alt tab out and back in to make right click paste work
-------------------------------------------------------------------------------------------------------

If updated this way making a PR to https://github.com/Regisle/TimelessJewelData with the files in the format it uses is appreciated.
To do this follow steps 1-5 the same and choose the other option for step 6.


## Installer creation

Path of Building Community offers both installable and standalone releases. They're
Expand Down
64 changes: 63 additions & 1 deletion changelog.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,70 @@
VERSION[2.48.0][2024/08/15]

--- New to Path of Building ---
* Hide legacy Tattoos from dropdown by default (LocalIdentity, Peechey)
* Add ability to search in the spectre library (nofate121)
* Add Support for Enemy damaging ailments (Regisle)
* View Gem level sources in calc sections (justjuangui)
* Enable Tincture Effects to also apply to Ranged Weapons (Regisle)
* Add support for Tincture mods (LocalIdentity)
* Add support for pseudo recoup like Divine Shield and Juggernaut (Regisle)
* Add support for some warcry power modifiers (Regisle)
* Add Warcry effect mod to calcs tab with breakdown (Regisle)
* Add support for export and importing warcry buffs to the Party Tab (Regisle)
* Add The Living Blade (Nostrademous)

--- Fixed Crashes ---
* Fix crash when using Power Charge on Crit from Elder staves (Wires77)
* Fix crash when allocating Blood Magic with Manabond (LocalIdentity)

--- User Interface ---
* Color mastery differences blue when comparing trees (nofate121)
* Improve Rage Calcs tab breakdown (Regisle)
* Fix Calcs tab scroll bar (Regisle)
* Fix full dps visual bug on gem dropdown (Paliak)

--- Fixed Calculations ---
* Fix Charge duration not using More/Less modifiers (Wires77)
* Fix Ynda's Stand Ward conversion mod not taking catalysts into consideration (krfreak)
* Fix accuracy of scaled Warcry buffs (Regisle)
* Fix Ward rounding final value incorrectly (LocalIdentity)
* Fix Hateforge Rage cost calculation (LocalIdentity)
* Minor improvements to Tinctures and Mana Burn (Regisle)

--- Fixed Behaviours ---
* Fix issue where PoB did not detect changes when selecting gems via keyboard shortcuts (nofate121)
* Fix The Light of Meaning adding stats to allocated sockets (Paliak)
* Fix Rage Effect incorrectly scaling some mods (LocalIdentity)
* Fix Rage Support not enabling Rage damage bonus (LocalIdentity)
* Fix Arcane Surge effect per Summoned Totem mod not working (LocalIdentity)
* Fix Ynda's Stand not working correctly with Trickster's Escape Artist (LocalIdentity)
* Fix Divine Blessing not removing reservation from skill (LocalIdentity)
* Fix Overexertion not applying to skills linked with Generals Cry (LocalIdentity)
* Fix rare case with gain on suppression with no chance to mitigate damage (eg 100% suppress chance) (Regisle)
* Fix Warcry options are not shown in all configurations (n1tr0xs)
* Fix Tattoos being removed from list when using Remove All Tattoos button (Peechey)
* Fix Minions with Endurance Charges still gaining resists (n1tr0xs)
* Fix EHP and Maximum Hit taken with negative Unreserved Life (Regisle)
* Fix Exerted multipliers applying twice when Dual Wielding (LocalIdentity)
* Fix Sand Stance "less damage taken" incorrectly applying to DoT degen (LocalIdentity)

--- Accuracy Improvements ---
* Update Sap of the Seasons to add new cap (Regisle)
* Add variant for post 3.21 Combat Focus (Paliak)
* Fix parsing missing for new wording on Emberwake (Paliak)
* Fix Maata's Teaching using wrong crit chance range (LocalIdentity)
* Fix incorrect names for Timeless Jewel nodes (LocalIdentity)
* Fix Kaom's Primacy Rage mod not working (LocalIdentity)
* Fix broken base types on some items (Regisle)

--- Fixed Bugs ---
* Fix infinitely nested XML stored as importLink (Wires77)

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)
* Fix crash when using Svalinn unique shield (Paliak)

--- Fixed Calculations ---
* Fix Inspiration granting more Mana cost instead of Less (LocalIdentity)
Expand Down
6 changes: 6 additions & 0 deletions help.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,12 @@ Adding ^ and then a number or hex code before text will change the colour of the

---[Timeless Jewels]

DEV[Developer Information:]
DEV[The Timeless jewels determine what effect they have on a node based on the "Look up Tables" in \src\Data\TimelessJewelData]
DEV[The LuTs for the timeless jewels come from https://github.com/Regisle/TimelessJewelData]
DEV[ ]
DEV[These can be generated if that repo is out of date (see RELEASE.md)]
DEV[ ]
Timeless jewels modify nodes in a radius based on their seed, the same seed will apply the same changes to the same small/notable nodes so that is the number you look for. The Conqueror (name on the jewel) only affects the keystone.

Path of Building has an inbuilt tool in the tree tab to search through seeds to find stats that would be good for your build.
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.3" />
<Version number="2.48.0" />
<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
88 changes: 44 additions & 44 deletions spec/GenerateBuilds.lua
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
local function fetchBuilds(path, buildList)
buildList = buildList or {}
for file in lfs.dir(path) do
if file ~= "." and file ~= ".." then
local f = path..'/'..file
local attr = lfs.attributes (f)
assert(type(attr) == "table")
if attr.mode == "directory" then
fetchBuilds(f, buildList)
else
if file:match("^.+(%..+)$") == ".xml" then
local fileHnd, errMsg = io.open(f, "r")
if not fileHnd then
return nil, errMsg
end
local fileText = fileHnd:read("*a")
fileHnd:close()
buildList[f] = fileText
end
end
end
end
return buildList
buildList = buildList or {}
for file in lfs.dir(path) do
if file ~= "." and file ~= ".." then
local f = path..'/'..file
local attr = lfs.attributes (f)
assert(type(attr) == "table")
if attr.mode == "directory" then
fetchBuilds(f, buildList)
else
if file:match("^.+(%..+)$") == ".xml" then
local fileHnd, errMsg = io.open(f, "r")
if not fileHnd then
return nil, errMsg
end
local fileText = fileHnd:read("*a")
fileHnd:close()
buildList[f] = fileText
end
end
end
end
return buildList
end

function buildTable(tableName, values, string)
string = string or ""
string = string .. tableName .. " = {"
for key, value in pairs(values) do
if type(value) == "table" then
buildTable(key, value, string)
elseif type(value) == "boolean" then
string = string .. "[\"" .. key .. "\"] = " .. (value and "true" or "false") .. ",\n"
elseif type(value) == "string" then
string = string .. "[\"" .. key .. "\"] = \"" .. value .. "\",\n"
else
string = string .. "[\"" .. key .. "\"] = " .. round(value, 4) .. ",\n"
end
end
string = string .. "}\n"
return string
string = string or ""
string = string .. tableName .. " = {"
for key, value in pairs(values) do
if type(value) == "table" then
buildTable(key, value, string)
elseif type(value) == "boolean" then
string = string .. "[\"" .. key .. "\"] = " .. (value and "true" or "false") .. ",\n"
elseif type(value) == "string" then
string = string .. "[\"" .. key .. "\"] = \"" .. value .. "\",\n"
else
string = string .. "[\"" .. key .. "\"] = " .. round(value, 4) .. ",\n"
end
end
string = string .. "}\n"
return string
end

local buildList = fetchBuilds("../spec/TestBuilds")
for filename, testBuild in pairs(buildList) do
loadBuildFromXML(testBuild)
local fileHnd, errMsg = io.open(filename:gsub("^(.+)%..+$", "%1.lua"), "w+")
fileHnd:write("return {\n xml = [[")
fileHnd:write(testBuild)
fileHnd:write("]],\n ")
fileHnd:write(buildTable("output", build.calcsTab.mainOutput) .. "\n}")
fileHnd:close()
loadBuildFromXML(testBuild)
local fileHnd, errMsg = io.open(filename:gsub("^(.+)%..+$", "%1.lua"), "w+")
fileHnd:write("return {\n xml = [[")
fileHnd:write(testBuild)
fileHnd:write("]],\n ")
fileHnd:write(buildTable("output", build.calcsTab.mainOutput) .. "\n}")
fileHnd:close()
end
Loading

0 comments on commit db202f0

Please sign in to comment.