Skip to content
This repository was archived by the owner on Oct 21, 2025. It is now read-only.

Commit be9eccd

Browse files
Merge branch 'dev' into fix/jewel-socket-res-and-displayStats-with-ATD
2 parents e4d3768 + f685f69 commit be9eccd

File tree

9 files changed

+146
-141
lines changed

9 files changed

+146
-141
lines changed

changelog.txt

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ It was a lot of work and there are sure to be an above-average number of bugs a
88
changed from PoE1 to PoE2.
99
At release of PoE2 Early Access a subset of the PoBCommunity team dug in and got to work carving
1010
data/memory/assets/their-time like nobody's business in an effort to get this port put together.
11-
It took us much longer than we anticipated (partially because many of us to this day highly enjoy playing PoE2 and
12-
coding takes a back seat on some days; partially because it was Holiday Season; and partially b/c GGG did not provide
13-
us with a Passive Skill Tree and the assets we normally have so we had to go dig them up).
11+
It took us much longer than we anticipated (partially because many of us - to this day - highly enjoy playing PoE2
12+
and coding takes a back seat on some days; partially because it was Holiday Season; and partially because GGG did
13+
not provide us with a Passive Skill Tree and the assets we normally have, so we had to go dig them up).
1414

15-
Huge thanks to: LocalIdentity, Nostrademous, trompetin17, PJacek, sida-wang, Peechey,
16-
QuickStick123, deathbeam, Helyos96, zao, Wires77
15+
Huge thanks to: LocalIdentity, Nostrademous, trompetin17, TPlant, sida-wang, Peechey,
16+
QuickStick123, deathbeam, Helyos96, zao, Wires77
1717

1818
In this version we are releasing the following initial features:
19-
* PoE2 Passive Skill Tree and "most" Ascendancy support (including Weapon Set Skill Points)
19+
* PoE2 Passive Skill Tree and support for "most" Ascendancies (including Weapon Set Skill Points)
2020
* Support for Attribute Switching on small passive tree nodes
2121
* Basic support for most Skills and Supports gems with Stat Sets breakdowns for skills with multiple parts or effects
22-
* Support for many (possibly all) known unique items (outside of skills granted by items as previously mentioned)
22+
* Support for many (possibly all) known unique items
2323
* Re-coded ailment calculations formula
2424
* Much improved skill tree rendering engine
2525
* Rune & Soul Core support
@@ -28,21 +28,20 @@ In this version we are releasing the following initial features:
2828

2929

3030

31-
A quick hit-list of things that ARE NOT SUPPORTED in this initial release:
31+
A quick hit-list of things that ^1ARE NOT SUPPORTED ^7in this initial release:
3232

33-
* Character Importing (GGG has not yet enabled the API that will allow us to import characters)
33+
* Character Importing - GGG has not yet enabled the API that will allow us to import characters
3434
* Meta Skills / Trigger Skills damage calculation - this needs an entire overhaul we didn't have time to do thus far
3535
* Skill Combos - it is our hope in the future to implement the concepts of "rotations" in a given skill
36-
(e.g., Tempest Flurry: normal strike -> normal strike -> third strike -> final strike
37-
-- that is the rotation of holding down the skill button in game, each one has slightly different speed, modifiers,
38-
and damage potential; we plan to enable calculation of the DPS of a "rotation" in the future)
36+
i.e. the rotation of holding down the skill button in game, each one has slightly different speed, modifiers,
37+
and damage potential
38+
(e.g., Tempest Flurry: normal strike -> normal strike -> third strike -> final strike)
3939
* Weapon Set Swap combos
40-
* Full support for Item Crafting (a lot is there, but weights are hidden by GGG now so knowing probability
41-
of certain events happening needs to be crowd-sourced)
42-
* Support for all Nodes / Modifiers / Ascendancies (many are supported, but not all - follow the logic of"if a modifier
43-
on an item, tree node or ascendancy node is 'blue colored' we parse it and hopefully support it, if it's 'red colored'
44-
we do not."
45-
* Proper support for Skills granted by Items (we still need to complete the process of fully removing the concept of
46-
skill gems being tied to item sockets that was in PoE1 to allow for this, we just ran out of time)
40+
* Support for all Nodes / Modifiers / Ascendancies
41+
Many are supported, but not all - if a modifier on an item, tree node or ascendancy node is 'blue coloured'
42+
we parse it - and hopefully support it - if it's 'red coloured' we do not.
43+
* Proper support for Skills granted by Items
44+
We still need to complete the process of fully removing the concept of
45+
skill gems being tied to item sockets that was in PoE1 to allow for this, we just ran out of time
4746
* Map Mods
4847
* Boss Skills

manifest.xml

Lines changed: 99 additions & 99 deletions
Large diffs are not rendered by default.

src/Classes/SkillsTab.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1298,7 +1298,7 @@ function SkillsTabClass:UpdateGlobalGemCountAssignments()
12981298
for _, socketGroup in ipairs(self.socketGroupList) do
12991299
local countGroup = true
13001300
for _, gemInstance in ipairs(socketGroup.gemList) do
1301-
if gemInstance.fromItem then
1301+
if gemInstance.fromItem or (gemInstance.gemData and gemInstance.gemData.grantedEffect and gemInstance.gemData.grantedEffect.fromTree) then
13021302
countGroup = false
13031303
end
13041304
if gemInstance.gemData then

src/Data/Skills/sup_dex.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ skills["SupportDeadlyPoisonPlayer"] = {
559559
statDescriptionScope = "gem_stat_descriptions",
560560
statMap = {
561561
["support_deadly_poison_hit_damage_+%_final"] = {
562-
mod("Damage", "MORE", nil, ModFlag.Hit, KeywordFlag.Poison),
562+
mod("Damage", "MORE", nil, ModFlag.Hit),
563563
},
564564
["support_deadly_poison_poison_effect_+%_final"] = {
565565
mod("AilmentMagnitude", "MORE", nil, 0, KeywordFlag.Poison),
@@ -1936,4 +1936,4 @@ skills["SupportWindowOfOpportunityPlayer"] = {
19361936
},
19371937
},
19381938
}
1939-
}
1939+
}

src/Data/Skills/sup_str.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ skills["SupportDeepCutsPlayer"] = {
450450
mod("Damage", "MORE", nil, ModFlag.Hit),
451451
},
452452
["support_deep_cuts_bleeding_effect_+%_final"] = {
453-
mod("BleedMagnitude", "MORE", nil),
453+
mod("AilmentMagnitude", "MORE", nil, 0, KeywordFlag.Bleed),
454454
},
455455
},
456456
baseFlags = {
@@ -2090,4 +2090,4 @@ skills["SupportVitalityPlayer"] = {
20902090
},
20912091
},
20922092
}
2093-
}
2093+
}

src/Export/Skills/sup_dex.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ statMap = {
149149
#set SupportDeadlyPoisonPlayer
150150
statMap = {
151151
["support_deadly_poison_hit_damage_+%_final"] = {
152-
mod("Damage", "MORE", nil, ModFlag.Hit, KeywordFlag.Poison),
152+
mod("Damage", "MORE", nil, ModFlag.Hit),
153153
},
154154
["support_deadly_poison_poison_effect_+%_final"] = {
155155
mod("AilmentMagnitude", "MORE", nil, 0, KeywordFlag.Poison),
@@ -492,4 +492,4 @@ statMap = {
492492
},
493493
},
494494
#mods
495-
#skillEnd
495+
#skillEnd

src/Export/Skills/sup_str.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ statMap = {
127127
mod("Damage", "MORE", nil, ModFlag.Hit),
128128
},
129129
["support_deep_cuts_bleeding_effect_+%_final"] = {
130-
mod("BleedMagnitude", "MORE", nil),
130+
mod("AilmentMagnitude", "MORE", nil, 0, KeywordFlag.Bleed),
131131
},
132132
},
133133
#mods
@@ -582,4 +582,4 @@ statMap = {
582582
},
583583
},
584584
#mods
585-
#skillEnd
585+
#skillEnd

src/Modules/BuildSiteTools.lua

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ buildSites = { }
88

99
-- Import/Export websites list used in dropdowns
1010
buildSites.websiteList = {
11+
{
12+
label = "Maxroll", id = "Maxroll", matchURL = "maxroll%.gg/poe2/pob/.*", regexURL = "maxroll%.gg/poe2/pob/(.+)%s*$", downloadURL = "maxroll%.gg/poe2/api/pob/%1",
13+
codeOut = "https://maxroll.gg/poe2/pob/", postUrl = "https://maxroll.gg/poe2/api/pob", postFields = "pobCode=", linkURL = "maxroll%.gg/poe2/pob/%1"
14+
},
1115
{
1216
label = "pobb.in", id = "POBBin", matchURL = "pobb%.in/.+", regexURL = "pobb%.in/(.+)%s*$", downloadURL = "pobb.in/pob/%1",
1317
codeOut = "https://pobb.in/", postUrl = "https://pobb.in/pob/", postFields = "", linkURL = "pobb.in/%1"
@@ -71,8 +75,8 @@ function buildSites.DownloadBuild(link, websiteInfo, callback)
7175
-- Only called on program start via protocol handler
7276
if not websiteInfo then
7377
for _, siteInfo in ipairs(buildSites.websiteList) do
74-
if link:match("^pob:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)") then
75-
siteCodeURL = link:gsub("^pob:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)", "https://" .. siteInfo.downloadURL)
78+
if link:match("^pob2:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)") then
79+
siteCodeURL = link:gsub("^pob2:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)", "https://" .. siteInfo.downloadURL)
7680
websiteInfo = siteInfo
7781
break
7882
end
@@ -94,14 +98,14 @@ function buildSites.DownloadBuild(link, websiteInfo, callback)
9498
end
9599

96100
-- Parses and converts URI's to import links. Currently only supports protocol handler URI's, extend as needed.
97-
-- @param uri String Example: pob://pobbin/<id> or pob://poeninja/<id>
101+
-- @param uri String Example: pob2://pobbin/<id> or pob2://poeninja/<id>
98102
function buildSites.ParseImportLinkFromURI(uri)
99103
local importLink = nil
100104

101105
-- Check if it's an URI from protocol handler
102106
for _, siteInfo in ipairs(buildSites.websiteList) do
103-
if uri:match("^pob:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)") then
104-
importLink = uri:gsub("^pob:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)", "https://" .. siteInfo.linkURL)
107+
if uri:match("^pob2:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)") then
108+
importLink = uri:gsub("^pob2:[/\\]*" .. siteInfo.id:lower() .. "[/\\]+(.+)", "https://" .. siteInfo.linkURL)
105109
break
106110
end
107111
end

src/Modules/CalcOffence.lua

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3908,19 +3908,21 @@ function calcs.offence(env, actor, activeSkill)
39083908
-- Calculates damage to be used in damaging ailment calculations
39093909
local function calcAilmentSourceDamage(ailment, defaultDamageTypes)
39103910
local canCrit = not skillModList:Flag(cfg, "AilmentsAreNeverFromCrit")
3911-
local hitMin, hitMax = 0, 0, 0
3912-
local critMin, critMax = 0, 0, 0
3911+
local hitMin, hitMax = 0, 0
3912+
local critMin, critMax = 0, 0
39133913
for _, damageType in ipairs(dmgTypeList) do
39143914
if canDoAilment(ailment, damageType, defaultDamageTypes) then
39153915
local override = skillModList:Override(cfg, ailment .. damageType .. "HitDamage")
3916-
hitMin = hitMin + (override or output[damageType.."StoredHitMin"])
3917-
hitMax = hitMax + (override or output[damageType.."StoredHitMax"])
3918-
output[ailment .. damageType .. "Min"] = (override or output[damageType.."StoredHitMin"])
3919-
output[ailment .. damageType .. "Max"] = (override or output[damageType.."StoredHitMin"])
3916+
local ailmentHitMin = override or output[damageType.."StoredHitMin"] or 0
3917+
local ailmentHitMax = override or output[damageType.."StoredHitMax"] or 0
3918+
hitMin = hitMin + ailmentHitMin
3919+
hitMax = hitMax + ailmentHitMax
3920+
output[ailment .. damageType .. "Min"] = ailmentHitMin
3921+
output[ailment .. damageType .. "Max"] = ailmentHitMax
39203922
if canCrit then
3921-
local override = skillModList:Override(cfg, ailment .. damageType .. "CritDamage")
3922-
critMin = critMin + (override or output[damageType.."StoredCritMin"])
3923-
critMax = critMax + (override or output[damageType.."StoredCritMax"])
3923+
override = skillModList:Override(cfg, ailment .. damageType .. "CritDamage")
3924+
critMin = critMin + (override or output[damageType.."StoredCritMin"] or 0)
3925+
critMax = critMax + (override or output[damageType.."StoredCritMax"] or 0)
39243926
end
39253927
end
39263928
end

0 commit comments

Comments
 (0)