Skip to content

Commit 9dfc4e5

Browse files
committed
Merge branch 'add_3.22-additions' into spellblade
2 parents 0c2b0ea + a0f4b30 commit 9dfc4e5

Some content is hidden

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

72 files changed

+58011
-47802
lines changed

CHANGELOG.md

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

3+
## [v2.31.2](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.31.2) (2023/08/16)
4+
5+
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.31.1...v2.31.2)
6+
7+
<!-- Release notes generated using configuration in .github/release.yml at dev -->
8+
9+
## What's Changed
10+
### Fixed Bugs
11+
* Fix issue when importing characters by @Wires77
12+
* Fix typo with Ignite Stack Potential Override by @Wires77
13+
14+
15+
## [v2.31.1](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.31.1) (2023/08/16)
16+
17+
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.31.0...v2.31.1)
18+
19+
<!-- Release notes generated using configuration in .github/release.yml at dev -->
20+
21+
## What's Changed
22+
### User Interface
23+
- Lower contrast of gem select highlight [\#6338](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6338) ([ryuukk](https://github.com/ryuukk))
24+
### Accuracy Improvements
25+
- Undo incorrect Explosive Arrow change [\#6335](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6335) ([Lilylicious](https://github.com/Lilylicious))
26+
- Fix Frozen Legion benefiting from exerts [\#6331](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6331) ([Lilylicious](https://github.com/Lilylicious))
27+
- Fix Combustion debuff not applying when a non-damaging skill precedes a damaging skill [\#6344](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6344) ([Lilylicious](https://github.com/Lilylicious))
28+
- Fix Blood Sacrament not being capped by Cooldown [\#6351](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6351) ([LocalIdentity](https://github.com/LocalIdentity))
29+
- Fix Tree conversion stopping you from allocating some tree nodes [\#6352](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6352) ([LocalIdentity](https://github.com/LocalIdentity))
30+
- Fix Mana cost when using 'Wait for max unleash seals' [\#6333](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/6333) ([busterw](https://github.com/busterw))
31+
32+
333
## [v2.31.0](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v2.31.0) (2023/08/15)
434

535
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.30.1...v2.31.0)

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Feature requests are always welcome. Note that not all requests will receive an
4343
### Before submitting a pull request:
4444
* Familiarise yourself with the code base [here](docs/rundown.md) to get you started.
4545
* There is a [Discord](https://discordapp.com/) server for **active development** on the fork and members are happy to answer your questions there.
46-
If you are interested in joining, send a private message to any of **Cinnabarit#1341**, **LocalIdentity#9871**, **Yamin#5575** and we'll send you an invitation.
46+
If you are interested in joining, send a private message to **localidentity** or **wires77** and we'll send you an invitation.
4747

4848
### When submitting a pull request:
4949
* **Pull requests must be created against the `dev` branch**, as all changes to the code are staged there before merging to `master`.

changelog.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
VERSION[2.31.2][2023/08/16]
2+
3+
--- Fixed Bugs ---
4+
* Fix issue when importing characters (Wires77)
5+
* Fix typo with Ignite Stack Potential Override (Wires77)
6+
7+
VERSION[2.31.1][2023/08/16]
8+
9+
--- User Interface ---
10+
* Lower contrast of gem select highlight (ryuukk)
11+
12+
--- Accuracy Improvements ---
13+
* Undo incorrect Explosive Arrow change (Lilylicious)
14+
* Fix Frozen Legion benefiting from exerts (Lilylicious)
15+
* Fix Combustion debuff not applying when a non-damaging skill precedes a damaging skill (Lilylicious)
16+
* Fix Blood Sacrament not being capped by Cooldown (LocalIdentity)
17+
* Fix Tree conversion stopping you from allocating some tree nodes (LocalIdentity)
18+
* Fix Mana cost when using 'Wait for max unleash seals' (busterw)
19+
120
VERSION[2.31.0][2023/08/15]
221

322
--- New to Path of Building ---

help.txt

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
---[Help File][1]
1+
---[Help File Introduction]
22

3-
This file contains a list of shortcuts, and other misc things PoB has
3+
This file contains a list of shortcuts, and other misc information about PoB functionality
4+
While holding shift scroll bars in help section and version history will jump to the previous/next section while scrolling
45

5-
---[Contents][2]
6+
---[Contents]
67

7-
1. Intro
8-
2. Contents
9-
3. FAQ
10-
4. Hotkeys
11-
5. Other Notable Things
12-
6. Timeless Jewels
13-
7. Party Tab
14-
8. Items Tab
8+
---[FAQ]
159

16-
---[FAQ][3]
17-
18-
---[Hotkeys][4]
10+
---[Hotkeys]
1911

2012
General Shortcuts:
2113

@@ -35,13 +27,14 @@ Ctrl + N New build (in build selection menu)
3527
Ctrl + S Save build to file
3628
Ctrl + U Check for update
3729
Ctrl + V or RMB Paste
38-
Ctrl + W or Mouse 4 Close Build (gives save prompt if unsaved)
30+
Ctrl + W or
31+
Mouse 4 Close Build (gives save prompt if unsaved)
3932
Ctrl + X Cut
4033
Ctrl + Y Redo
4134
Ctrl + Z Undo
4235
Ctrl + BSP / DEL Faster text delete
4336
Ctrl + + /-/0 Zoom in / Out / Reset
44-
F1 Open item/gem/etc in poewiki.net
37+
F1 Open item/gem/etc in poewiki.net, or if nothing to open, opens help file
4538
F2 Rename item, set, etc.
4639
E On an equipped item will open it on the edit menu on the right.
4740
Ctrl + LMB Enable / disable gems
@@ -50,6 +43,7 @@ Mouse 4/5 Undo / Redo path respectively (in build selection menu)
5043
Shift While scrolling on a slider makes it 5* times faster
5144
Ctrl While scrolling on a slider makes it 5* times slower
5245
* default of 5, some scroll bars have more or less extreme modifiers to scroll speed
46+
and scroll bars in help section and version history will jump to the previous/next section
5347

5448
When creating an item either through item creator or adding an item pressing ctrl will add it to the first slot
5549
and ctrl+shift will add it to the second slot e.g. offhand for a weapon.
@@ -80,11 +74,11 @@ DEV[F5 Restart]
8074
DEV[F6 Run garbage collector]
8175
DEV[Shift Copy export xml to clipboard (hold key during export)]
8276

83-
---[Other Notable Things][5]
77+
---[Other Notable Things]
8478

8579
Adding ^ and then a number or hex code before text will change the colour of the text, eg ^^77 will make the following text white until the next colour marker is set.
8680

87-
---[Timeless Jewels][6]
81+
---[Timeless Jewels]
8882

8983
Timeless jewels modify nodes in a radius based off 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.
9084

@@ -118,7 +112,7 @@ Militant Faith jewels also have the option to select the other mods on the jewel
118112
Advanced tricks:
119113
For Militant Faith, if you don't want any nodes to change, you can just sort by devotion. As unchanged nodes add devotion, the ones with the most devotion will be the ones with unchanged nodes
120114

121-
---[Party Tab][7]
115+
---[Party Tab]
122116

123117
The Party tab Allows you to import support characters and have their auras and curses apply
124118

@@ -135,7 +129,7 @@ Your curses will take priority over a support's
135129
For now Enemy conditions and Modifiers are not exported but can be imported if its saved in the XML, and Links skills are not exported or parsed
136130
Some auras like Mines which use a stack value for their effect will not apply as their stack value is missing
137131

138-
---[Items Tab][8]
132+
---[Items Tab]
139133

140134
The Item Tab in Path of Building allows you to plan out the gear you will use for your character. To access the Item Tab, click on the "Items" tab located at the top of the screen.
141135

manifest.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<PoBVersion>
3-
<Version number="2.31.0" />
3+
<Version number="2.31.2" />
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/" />
77
<Source part="tree" url="https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding/{branch}/src/" />
8-
<File name="changelog.txt" part="default" sha1="a6cdcb66f00a8eed0491cfe625a8e4a31ef26d70" />
8+
<File name="changelog.txt" part="default" sha1="e00639c70dbed9735c64f314806fde0c42d9d7e4" />
99
<File name="help.txt" part="default" sha1="1edba2005ea8dec7bea31db4e225cef869692834" />
1010
<File name="LICENSE.md" part="default" sha1="eacedd00e9707defe051bd7151466d223376afa6" />
1111
<File name="Assets/game_ui_small.png" part="program" sha1="3e3f01a7c21ffe5ee7dfb644e9f3b7188c319d4d" />
@@ -28,8 +28,8 @@
2828
<File name="Classes/DropDownControl.lua" part="program" sha1="74b790e7633de7ba8eb2c5f4204d411f9aff68aa" />
2929
<File name="Classes/EditControl.lua" part="program" sha1="90194ba472124ee8b57eab0abe3c573399f2892e" />
3030
<File name="Classes/FolderListControl.lua" part="program" sha1="64706fc226b02939112f90735c5d78ddf99b896f" />
31-
<File name="Classes/GemSelectControl.lua" part="program" sha1="cbe8ef4eb078e0591b457439e882370d57056bac" />
32-
<File name="Classes/ImportTab.lua" part="program" sha1="80643172c8bc02458385f3a1d2bd0b9740a5729f" />
31+
<File name="Classes/GemSelectControl.lua" part="program" sha1="89c5fcc63c259a851c41bb58c72489cfaa4934da" />
32+
<File name="Classes/ImportTab.lua" part="program" sha1="071e1fc002ff9bcb8c3e6560c84c394898e2c09e" />
3333
<File name="Classes/Item.lua" part="program" sha1="7b5d833e0036285edef2334c417cd1d62dab588d" />
3434
<File name="Classes/ItemDBControl.lua" part="program" sha1="3dbdf8a18b48ada819720326e7f54b0c46ac3ab5" />
3535
<File name="Classes/ItemListControl.lua" part="program" sha1="be99fb0de3a9f2324921368799bcef3eac4ac820" />
@@ -46,7 +46,7 @@
4646
<File name="Classes/NotesTab.lua" part="program" sha1="67827a564d75d6f639893d0f0978212cf01ba4a4" />
4747
<File name="Classes/PartyTab.lua" part="program" sha1="0302128331fee33dfb66ef5466757f9ea97c6bd3" />
4848
<File name="Classes/PassiveMasteryControl.lua" part="program" sha1="f15e2d078e9b36d42616d11b652eb7160ffb0627" />
49-
<File name="Classes/PassiveSpec.lua" part="program" sha1="bdc3beb67cb195fd542ea4a9ea36788eb0b2af72" />
49+
<File name="Classes/PassiveSpec.lua" part="program" sha1="f9e6310861f35b47c5354dcd9ca86350e621ad83" />
5050
<File name="Classes/PassiveSpecListControl.lua" part="program" sha1="4da957f305cb61c9ba021d1d19a0e7501d5c053d" />
5151
<File name="Classes/PassiveTree.lua" part="program" sha1="cd6c133de149deb51c921e1a16448e2cb622bc9b" />
5252
<File name="Classes/PassiveTreeView.lua" part="program" sha1="f27faaaab7ab57da877501eb89de440854ee7542" />
@@ -126,7 +126,7 @@
126126
<File name="Data/Pantheons.lua" part="program" sha1="b1e6520cfffeeccf88566b7613120fab4e097acc" />
127127
<File name="Data/QueryMods.lua" part="program" sha1="2563ec6532f96c90e384ca4971a5e4a8b0a3cd02" />
128128
<File name="Data/Rares.lua" part="program" sha1="3901663e512fbf4f37e20de4dbcff39c3a3e658b" />
129-
<File name="Data/Skills/act_dex.lua" part="program" sha1="f06bc098fb8de4a741e425367aba115006e97fb8" />
129+
<File name="Data/Skills/act_dex.lua" part="program" sha1="ffb2c4a13cb6a60d22d423c7ed344cf001f205a0" />
130130
<File name="Data/Skills/act_int.lua" part="program" sha1="a3563952706d933add8e963d06cd096ceb8298b0" />
131131
<File name="Data/Skills/act_str.lua" part="program" sha1="6448b6ecc5d3c3fe1f24145dee18e1c51fa40f76" />
132132
<File name="Data/Skills/glove.lua" part="program" sha1="e0315c8fe86fccf1563711ed91968f03606a804c" />
@@ -199,8 +199,8 @@
199199
<File name="Modules/CalcActiveSkill.lua" part="program" sha1="1a6549b1d76b4de324163041232f06ae04737c81" />
200200
<File name="Modules/CalcBreakdown.lua" part="program" sha1="4460ce0aac0086a9667d38131eaeb968cd64b77b" />
201201
<File name="Modules/CalcDefence.lua" part="program" sha1="2b63750fbdc233e1da00d96b2ab05836e37e98a5" />
202-
<File name="Modules/CalcOffence.lua" part="program" sha1="de71821377abf202de749b746e1b0987822d895b" />
203-
<File name="Modules/CalcPerform.lua" part="program" sha1="2669c74015b1218704e76ff4be8438287f03efe8" />
202+
<File name="Modules/CalcOffence.lua" part="program" sha1="eab2d9f842113788d54262dac9c658135bad36be" />
203+
<File name="Modules/CalcPerform.lua" part="program" sha1="207981d0c0bbad8370f3897616c9d60673043f22" />
204204
<File name="Modules/Calcs.lua" part="program" sha1="feb334dab9ac610bb719673ddf3be256924fa1db" />
205205
<File name="Modules/CalcSections.lua" part="program" sha1="c25d61bd8502f79c8e5343a63f7218cbe43f83a4" />
206206
<File name="Modules/CalcSetup.lua" part="program" sha1="a86f6c92fd18f2626cadf3dbe347eb496ca26e93" />

src/Classes/GemSelectControl.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ function GemSelectClass:Draw(viewPort, noTooltip)
381381
for index = minIndex, maxIndex do
382382
local y = (index - 1) * (height - 4) - scrollBar.offset
383383
if index == self.hoverSel or index == self.selIndex or (index == 1 and self.selIndex == 0) then
384-
SetDrawColor(0.33, 0.33, 0.33)
384+
SetDrawColor(0.2, 0.2, 0.2)
385385
DrawImage(nil, 0, y, width - 4, height - 4)
386386
end
387387
SetDrawColor(1, 1, 1)
@@ -803,4 +803,4 @@ function GemSelectClass:OnKeyUp(key)
803803
end
804804
local newSel = self.EditControl:OnKeyUp(key)
805805
return newSel == self.EditControl and self or newSel
806-
end
806+
end

src/Classes/ImportTab.lua

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,20 @@ function ImportTabClass:ImportPassiveTreeAndJewels(json, charData)
588588
end
589589
self.build.itemsTab:PopulateSlots()
590590
self.build.itemsTab:AddUndoState()
591+
for classId, class in pairs(self.build.spec.tree.classes) do
592+
if charData.class == class.name then
593+
charData.classId = classId
594+
charData.ascendancyClass = 0
595+
break
596+
end
597+
for ascendId, ascendancyClass in pairs(class.ascendancies) do
598+
if charData.class == ascendancyClass.name then
599+
charData.classId = classId
600+
charData.ascendancyClass = ascendId
601+
break
602+
end
603+
end
604+
end
591605
self.build.spec:ImportFromNodeList(charData.classId, charData.ascendancyClass, charPassiveData.hashes, charPassiveData.mastery_effects or {}, latestTreeVersion)
592606
self.build.spec:AddUndoState()
593607
self.build.characterLevel = charData.level

src/Classes/ModStore.lua

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ function ModStoreClass:EvalMod(mod, cfg)
513513
if tag.actor then
514514
target = self.actor[tag.actor] and self.actor[tag.actor].modDB
515515
end
516-
if target then
516+
if target and (tag.var or tag.varList) then
517517
if tag.varList then
518518
for _, var in pairs(tag.varList) do
519519
if target:GetCondition(var, cfg) then
@@ -524,7 +524,7 @@ function ModStoreClass:EvalMod(mod, cfg)
524524
else
525525
match = target:GetCondition(tag.var, cfg)
526526
end
527-
elseif tag.actor and cfg and tag.var == nil and tag.varList == nil and tag.actor == cfg.actor then
527+
elseif tag.actor and cfg and tag.actor == cfg.actor then
528528
match = true
529529
end
530530
if tag.neg then
@@ -534,35 +534,51 @@ function ModStoreClass:EvalMod(mod, cfg)
534534
return
535535
end
536536
elseif tag.type == "ItemCondition" then
537+
local matches = {}
537538
local match = false
538-
local searchCond = tag.var
539-
local itemSlot = tag.itemSlot:gsub("(%l)(%w*)", function(a,b) return string.upper(a)..b end):gsub('^%s*(.-)%s*$', '%1')
540-
local bCheckAllAppropriateSlots = tag.allSlots
541-
if searchCond and itemSlot then
539+
local searchCond = tag.searchCond
540+
local rarityCond = tag.rarityCond
541+
local allSlots = tag.allSlots
542+
local itemSlot = tag.itemSlot:lower():gsub("(%l)(%w*)", function(a,b) return string.upper(a)..b end):gsub('^%s*(.-)%s*$', '%1')
543+
local bCheckAllAppropriateSlots = tag.bothSlots
544+
local items
545+
if allSlots then
546+
items = self.actor.itemList
547+
elseif self.actor.itemList then
548+
items = {self.actor.itemList[itemSlot] or (cfg and cfg.item)}
542549
if bCheckAllAppropriateSlots then
543-
local match1 = false
544-
local match2 = false
545550
local itemSlot1 = self.actor.itemList[itemSlot .. " 1"]
546551
local itemSlot2 = self.actor.itemList[itemSlot .. " 2"]
547552
if itemSlot1 and itemSlot1.name:match("Kalandra's Touch") then itemSlot1 = itemSlot2 end
548553
if itemSlot2 and itemSlot2.name:match("Kalandra's Touch") then itemSlot2 = itemSlot1 end
549-
if itemSlot1 then
550-
match1 = itemSlot1:FindModifierSubstring(searchCond:lower(), itemSlot:lower())
554+
if itemSlot1 and itemSlot2 then
555+
t_insert(items, itemSlot1)
556+
t_insert(items, itemSlot2)
551557
end
552-
if itemSlot2 then
553-
match2 = itemSlot2:FindModifierSubstring(searchCond:lower(), itemSlot:lower())
558+
end
559+
end
560+
if items and #items > 0 or allSlots then
561+
if searchCond then
562+
for slot, item in pairs(items) do
563+
if slot ~= itemSlot or not tag.excludeSelf then
564+
t_insert(matches, item:FindModifierSubstring(searchCond:lower(), itemSlot:lower()))
565+
end
554566
end
555-
match = match1 and match2
556-
else
557-
if self.actor.itemList[itemSlot] then
558-
match = self.actor.itemList[itemSlot]:FindModifierSubstring(searchCond:lower(), itemSlot:lower())
567+
end
568+
if rarityCond then
569+
for _, item in pairs(items) do
570+
t_insert(matches, item.rarity == rarityCond)
559571
end
560572
end
561573
end
562-
if tag.neg then
563-
match = not match
574+
for _, bool in ipairs(matches) do
575+
if bool then
576+
match = not tag.neg
577+
break
578+
end
579+
match = tag.neg == true
564580
end
565-
if not match then
581+
if not match and #matches > 0 then
566582
return
567583
end
568584
elseif tag.type == "SocketedIn" then

src/Classes/PassiveSpec.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -893,6 +893,8 @@ function PassiveSpecClass:BuildAllDependsAndPaths()
893893
if self.ignoredNodes[id] and self.allocNodes[id] then
894894
self.nodes[id].alloc = false
895895
self.allocNodes[id] = nil
896+
-- remove once processed to avoid allocation issue after convert
897+
self.ignoredNodes[id] = nil
896898
else
897899
if node.type == "Mastery" and self.masterySelections[id] then
898900
local effect = self.tree.masteryEffects[self.masterySelections[id]]

src/Classes/PassiveTree.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion)
5151
self.treeVersion = treeVersion
5252
local versionNum = treeVersions[treeVersion].num
5353

54-
self.legion = LoadModule("Data/LegionPassives")
54+
self.legion = LoadModule("Data/TimelessJewelData/LegionPassives")
5555

5656
MakeDir("TreeData")
5757

0 commit comments

Comments
 (0)