Skip to content

Commit 4dac4c5

Browse files
author
LocalIdentity
committed
Merge branch 'dev'
2 parents 35d68f7 + c796a58 commit 4dac4c5

File tree

370 files changed

+129849
-69990
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

370 files changed

+129849
-69990
lines changed

.github/workflows/spellcheck.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
name: 'Spell Checker'
1+
name: Spell Checker
22

33
on:
4+
push:
5+
branches: [ dev ]
46
pull_request:
57
branches: [ dev ]
68
workflow_dispatch:
@@ -13,27 +15,26 @@ on:
1315
jobs:
1416
spellcheck:
1517
runs-on: ubuntu-latest
16-
env:
18+
env:
1719
CONFIG_URL: https://raw.githubusercontent.com/Nightblade/pob-dict/main
1820
steps:
19-
2021
- name: Checkout
21-
uses: actions/checkout@v4
22+
uses: actions/checkout@v5
2223
with:
2324
ref: ${{ inputs.ref }}
2425

2526
- name: Fetch config file and dictionaries
26-
run: |
27-
curl --silent --show-error --parallel --remote-name-all \
28-
${{ env.CONFIG_URL }}/cspell.json \
29-
${{ env.CONFIG_URL }}/pob-dict.txt \
30-
${{ env.CONFIG_URL }}/poe-dict.txt \
31-
${{ env.CONFIG_URL }}/ignore-dict.txt \
32-
${{ env.CONFIG_URL }}/extra-en-dict.txt \
27+
run:
28+
curl --silent --show-error --parallel --remote-name-all
29+
${{ env.CONFIG_URL }}/cspell.json
30+
${{ env.CONFIG_URL }}/pob-dict.txt
31+
${{ env.CONFIG_URL }}/poe-dict.txt
32+
${{ env.CONFIG_URL }}/ignore-dict.txt
33+
${{ env.CONFIG_URL }}/extra-en-dict.txt
3334
${{ env.CONFIG_URL }}/contribs-dict.txt
3435

3536
- name: Run cspell
36-
uses: streetsidesoftware/cspell-action@v6.9.0
37+
uses: streetsidesoftware/cspell-action@v7
3738
with:
3839
files: '**' # needed as workaround for non-incremental runs (overrides in config still work ok)
3940
config: "cspell.json"

CHANGELOG.md

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

3+
## [v0.11.0](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v0.11.0) (2025/09/02)
4+
5+
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/compare/v0.10.0...v0.11.0)
6+
7+
8+
## What's Changed
9+
### The Third Edict
10+
- Add all new 0.3 skills and update existing skills [\#1257](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1257) ([LocalIdentity](https://github.com/LocalIdentity))
11+
- Update current Uniques and add 0.3 Uniques [\#1242](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1242) ([Blitz54](https://github.com/Blitz54))
12+
- Update Minions and Spectres with 0.3 changes [\#1236](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1236) ([Blitz54](https://github.com/Blitz54))
13+
- Add new 0.3 item bases [\#1235](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1235) ([Wires77](https://github.com/Wires77))
14+
- Add Abyssal Lich Ascendancy to tree [\#1238](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1238) ([trompetin17](https://github.com/justjuangui))
15+
- Add support for "Hollow Palm Technique" Keystone [\#1206](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1206) ([majochem](https://github.com/majochem))
16+
- Add support for "Blackflame Covenant" Keystone [\#1264](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1264) ([majochem](https://github.com/majochem))
17+
- Add support for Totems [\#1188](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1188) ([majochem](https://github.com/majochem))
18+
- Add support for adding essence modifiers to items [\#1239](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1239) ([Wires77](https://github.com/Wires77))
19+
- Add new 0.3.0 Keystones to "From Nothing" Unique jewel [\#1263](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1263) ([majochem](https://github.com/majochem))
20+
### New to Path of Building
21+
- Add support for new "+X% of Armour also applies to Y Damage" mods [\#1251](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1251) ([majochem](https://github.com/majochem))
22+
- Add support for monster on-kill explosion damage [\#1259](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1259) ([TPlant](https://github.com/PJacek))
23+
- Add support for "Sustainable Practices" (Pathfinder Ascendancy Node) [\#1250](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1250) ([majochem](https://github.com/majochem))
24+
- Update "item defence" related modifiers [\#1261](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1261) ([majochem](https://github.com/majochem))
25+
### User Interface
26+
- Show Influence icons on item headers [\#1199](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1199) ([Blitz54](https://github.com/Blitz54))
27+
- Fix Gem tooltips missing stats on some skills [\#1265](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1265) ([LocalIdentity](https://github.com/LocalIdentity))
28+
### Fixed Calculations
29+
- Fix values changing depending on order of skill groups [\#1245](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1245) ([Paliak](https://github.com/Paliak))
30+
- Remove cap on "x% Armour applies to y Damage" [\#1252](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1252) ([majochem](https://github.com/majochem))
31+
### Accuracy Improvements
32+
- Fix Lead Me Through Grace... parsing [\#1249](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1249) ([Nostrademous](https://github.com/Nostrademous))
33+
### Fixed Bugs
34+
- Fix invalid authentification URL being opened [\#1244](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1244) ([teroshan](https://github.com/teroshan))
35+
36+
337
## [v0.10.2](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v0.10.2) (2025/08/30)
438

539
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/compare/v0.10.1...v0.10.2)

changelog.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
VERSION[0.11.0][2025/09/02]
2+
3+
--- The Third Edict ---
4+
* Add all new 0.3 skills and update existing skills (LocalIdentity)
5+
* Update current Uniques and add 0.3 Uniques (Blitz54)
6+
* Update Minions and Spectres with 0.3 changes (Blitz54)
7+
* Add new 0.3 item bases (Wires77)
8+
* Add Abyssal Lich Ascendancy to tree (trompetin17)
9+
* Add support for "Hollow Palm Technique" Keystone (majochem)
10+
* Add support for "Blackflame Covenant" Keystone (majochem)
11+
* Add support for Totems (majochem)
12+
* Add support for adding essence modifiers to items (Wires77)
13+
* Add new 0.3.0 Keystones to "From Nothing" Unique jewel (majochem)
14+
15+
--- New to Path of Building ---
16+
* Add support for new "+X% of Armour also applies to Y Damage" mods (majochem)
17+
* Add support for monster on-kill explosion damage (TPlant)
18+
* Add support for "Sustainable Practices" (Pathfinder Ascendancy Node) (majochem)
19+
* Update "item defence" related modifiers (majochem)
20+
21+
--- User Interface ---
22+
* Show Influence icons on item headers (Blitz54)
23+
* Fix Gem tooltips missing stats on some skills (LocalIdentity)
24+
25+
--- Fixed Calculations ---
26+
* Fix values changing depending on order of skill groups (Paliak)
27+
* Remove cap on "x% Armour applies to y Damage" (majochem)
28+
29+
--- Accuracy Improvements ---
30+
* Fix Lead Me Through Grace... parsing (Nostrademous)
31+
32+
--- Fixed Bugs ---
33+
* Fix invalid authentification URL being opened (teroshan)
34+
135
VERSION[0.10.2][2025/08/30]
236

337
--- Fixed Crashes ---

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="0.10.2" />
3+
<Version number="0.11.0" />
44
<Source part="default" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/{branch}/" />
55
<Source part="runtime" platform="win32" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/{branch}/runtime/" />
66
<Source part="program" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/{branch}/src/" />

spec/System/TestAttacks_spec.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ describe("TestAttacks", function()
7272
runCallback("OnFrame")
7373
-- Add 2 skills with 1 red, 1 blue, 1 green support each
7474
-- Test against Quarterstaff Strike (skill slot 1)
75-
build.skillsTab:PasteSocketGroup("Quarterstaff Strike 1/0 1\nSplinter 1/0 1\nConduction 1/0 1\nBiting Frost 1/0 1")
75+
build.skillsTab:PasteSocketGroup("Quarterstaff Strike 1/0 1\nArmour Break I 1/0 1\nShock 1/0 1\nBiting Frost 1/0 1")
7676
runCallback("OnFrame")
77-
build.skillsTab:PasteSocketGroup("Falling Thunder 1/0 1\nIgnition 1/0 1\nDiscombobulate 1/0 1\nCoursing Current 1/0 1")
77+
build.skillsTab:PasteSocketGroup("Falling Thunder 1/0 1\nIgnite I 1/0 1\nDaze 1/0 1\nShock Conduction 1/0 1")
7878
runCallback("OnFrame")
7979

8080
build.configTab:BuildModList()

spec/System/TestItemParse_spec.lua

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
describe("TestItemParse", function()
22
local function raw(s, base)
3-
base = base or "Arcane Robe"
3+
base = base or "Arcane Raiment"
44
return "Rarity: Rare\nName\n"..base.."\n"..s
55
end
66

@@ -146,8 +146,10 @@ describe("TestItemParse", function()
146146
assert.truthy(item.mirrored)
147147
item = new("Item", raw("Corrupted"))
148148
assert.truthy(item.corrupted)
149-
item = new("Item", raw("Fractured Item"))
149+
item = new("Item", raw("Leech 6.61% of Physical Attack Damage as Mana (fractured)"))
150150
assert.truthy(item.fractured)
151+
item = new("Item", raw("Adds 36 to 48 Fire Damage (desecrated)"))
152+
assert.truthy(item.desecrated)
151153
item = new("Item", raw("Crafted: true"))
152154
assert.truthy(item.crafted)
153155
item = new("Item", raw("Unreleased: true"))
@@ -243,9 +245,9 @@ describe("TestItemParse", function()
243245
Corrupted
244246
]])
245247
item:BuildAndParseRaw()
246-
assert.are.equals(45, item.requirements.strMod)
247-
assert.are.equals(111, item.requirements.dexMod)
248-
assert.are.equals(71, item.requirements.intMod)
248+
assert.are.equals(35, item.requirements.strMod)
249+
assert.are.equals(86, item.requirements.dexMod)
250+
assert.are.equals(55, item.requirements.intMod)
249251

250252
end)
251253

src/Assets/fractureditemsymbol.png

2.39 KB
Loading

src/Assets/veileditemsymbol.png

5.16 KB
Loading

src/Classes/GemSelectControl.lua

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,9 @@ function GemSelectClass:AddGemTooltip(gemInstance)
542542
if gemInstance.gemData.tagString ~= "" then
543543
self.tooltip:AddLine(16, "^x7F7F7F" .. gemInstance.gemData.tagString)
544544
end
545+
if gemInstance.gemData.gemFamily then
546+
self.tooltip:AddLine(16, "^x7F7F7FCategory: ^7" .. gemInstance.gemData.gemFamily)
547+
end
545548
-- Will need rework if a gem can have 2+ additional supports
546549
self:AddGrantedEffectInfo(gemInstance, grantedEffect, true)
547550
for _, statSet in ipairs(grantedEffect.statSets) do
@@ -559,14 +562,18 @@ function GemSelectClass:AddGemTooltip(gemInstance)
559562
for _, statSet in ipairs(additional.statSets) do
560563
self:AddStatSetInfo(gemInstance, grantedEffect, statSet)
561564
end
565+
else
566+
for _, statSet in ipairs(additional.statSets) do
567+
self:AddStatSetInfo(gemInstance, grantedEffect, statSet, true)
568+
end
562569
end
563570
end
564571
end
565572

566573
function GemSelectClass:AddGrantedEffectInfo(gemInstance, grantedEffect, addReq)
567574
local displayInstance = gemInstance.displayEffect or gemInstance
568575
local grantedEffectLevel = grantedEffect.levels[displayInstance.level] or { }
569-
if gemInstance.gemData.Tier then
576+
if gemInstance.gemData.Tier and not grantedEffect.isLineage then
570577
self.tooltip:AddLine(16, string.format("^x7F7F7FTier: ^7%d", gemInstance.gemData.Tier))
571578
end
572579
if addReq and not grantedEffect.support then
@@ -679,22 +686,22 @@ function GemSelectClass:AddGrantedEffectInfo(gemInstance, grantedEffect, addReq)
679686
end
680687
end
681688
end
682-
function GemSelectClass:AddStatSetInfo(gemInstance, grantedEffect, statSet)
689+
function GemSelectClass:AddStatSetInfo(gemInstance, grantedEffect, statSet, noLabel)
683690
local displayInstance = gemInstance.displayEffect or gemInstance
684691
local statSetLevel = statSet.levels[displayInstance.level] or { }
685-
if statSet.label ~= grantedEffect.name and statSet.label ~= "" then
692+
if statSet.label ~= grantedEffect.name and statSet.label ~= "" and not noLabel then
686693
self.tooltip:AddSeparator(10)
687694
self.tooltip:AddLine(20, colorCodes.GEM .. statSet.label)
695+
self.tooltip:AddSeparator(10)
688696
end
689-
self.tooltip:AddSeparator(10)
690697
if statSetLevel.critChance then
691698
self.tooltip:AddLine(16, string.format("^x7F7F7FCritical Hit Chance: ^7%.2f%%", statSetLevel.critChance))
692699
end
693700
if statSetLevel.baseMultiplier then
694701
self.tooltip:AddLine(16, string.format("^x7F7F7FAttack Damage: ^7%d%%", statSetLevel.baseMultiplier * 100))
695702
end
696703
if self.skillsTab and self.skillsTab.build.data.describeStats then
697-
self.tooltip:AddSeparator(10)
704+
if not noLabel then self.tooltip:AddSeparator(10) end
698705
local stats = calcLib.buildSkillInstanceStats(displayInstance, grantedEffect, statSet)
699706
--if mergeStatsFrom then
700707
-- for stat, val in pairs(calcLib.buildSkillInstanceStats(displayInstance, mergeStatsFrom)) do

src/Classes/ImportTab.lua

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -705,8 +705,17 @@ function ImportTabClass:ImportItemsAndSkills(charData)
705705
local spectreList = data.spectres
706706
if typeLine:sub(1, 8) == "Spectre:" then
707707
local spectreName = typeLine:sub(10) -- gets monster name after "Spectre: "
708+
for _, property in pairs(skillData.properties) do
709+
if property.name == "Reservation" and property.values and property.values[1] and property.values[1][1] then
710+
-- Example: "42 [Spirit]"
711+
local reservationValue = property.values[1][1]:match("(%d+)")
712+
if reservationValue then
713+
gemInstance.reservation = tonumber(reservationValue)
714+
end
715+
end
716+
end
708717
for id, spectre in pairs(spectreList) do
709-
if spectre.name == spectreName then
718+
if spectre.name == spectreName and gemInstance.reservation == spectre.spectreReservation then
710719
if not isValueInArray(self.build.spectreList, id) then
711720
t_insert(self.build.spectreList, id)
712721
end
@@ -718,8 +727,17 @@ function ImportTabClass:ImportItemsAndSkills(charData)
718727
end
719728
if typeLine:sub(1, 10) == "Companion:" then
720729
local companionName = typeLine:sub(12)
730+
for _, property in pairs(skillData.properties) do
731+
if property.name == "Reservation" and property.values and property.values[1] and property.values[1][1] then
732+
-- Example: "42.3% [Spirit]"
733+
local companionReservation = property.values[1][1]:match("([%d%.]+)%%?")
734+
if companionReservation then
735+
gemInstance.companionReservation = tonumber(companionReservation)
736+
end
737+
end
738+
end
721739
for id, spectre in pairs(spectreList) do
722-
if spectre.name == companionName then
740+
if spectre.name == companionName and gemInstance.companionReservation == spectre.companionReservation then
723741
if not isValueInArray(self.build.beastList, id) then
724742
t_insert(self.build.beastList, id)
725743
end

0 commit comments

Comments
 (0)