Skip to content

Commit 1ddb2b7

Browse files
author
LocalIdentity
committed
Merge branch 'dev'
2 parents 4f97469 + 1186dfd commit 1ddb2b7

File tree

11 files changed

+81
-26
lines changed

11 files changed

+81
-26
lines changed

.github/tweak_changelogs.sh

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,56 @@ RELEASE_VERSION="$1"
44

55
# Delete until and including the first line containing "<!-- Release notes generated"
66
sed -i '1,/^<!-- Release notes generated/d' temp_change.md
7+
8+
# Check if there is more than one non-empty line (the full changelog line) before we continue
9+
if [ $(grep -c '^[[:space:]]*[^[:space:]]' temp_change.md) -le 1 ]; then
10+
echo "No changes to release $RELEASE_VERSION"
11+
rm temp_change.md
12+
exit 1
13+
fi
14+
15+
# Remove all CR characters from all changelog files
16+
sed -i 's/\r//g' temp_change.md CHANGELOG.md changelog.txt
17+
718
# Reverse the order of lines in the file (last line becomes first, etc.)
819
sed -i '1h;1d;$!H;$!d;G' temp_change.md
920
# Convert "**Full Changelog**: URL" format to markdown link format "[Full Changelog](URL)"
1021
sed -i -re 's/\*\*Full Changelog\*\*: (.*)/\[Full Changelog\]\(\1\)\n/' temp_change.md
1122
# Delete everything from "## New Contributors" line to the end of file
1223
sed -i '/## New Contributors/,$d' temp_change.md
13-
# Convert GitHub changelog entries from "* description by @username in pull/URL/number"
14-
# to "- description [#number](pull/URL/number) ([username](https://github.com/username))" format
15-
sed -i -re 's/^\*(.*)\sby\s@(.*)\sin\s(.*\/pull\/)(.*)\r?/-\1 [\\#\4](\3\4) ([\2](https:\/\/github.com\/\2))/' temp_change.md;
24+
# Convert GitHub changelog entries to markdown format
25+
# "* description by (@username1, @username2) in #1310, #1311" → "- description #1310, #1311 (@username1, @username2)"
26+
sed -i -re 's/^\*\s(.*)\sby\s\(?(@[^)]*[^) ])\)?\s+in\s+(.*)/- \1 \3 (\2)/' temp_change.md
27+
# Convert @usernames to github links
28+
# "(@username1, @username2)" → "([username1](https://github.com/username1), [username2](https://github.com/username2))"
29+
sed -i -re 's/@([a-zA-Z0-9_-]+)/[\1](https:\/\/github.com\/\1)/g' temp_change.md
30+
# Convert full PR URLs to linked format
31+
# "https://github.com/repo/pull/1310" → "[\#1310](https://github.com/repo/pull/1310)"
32+
sed -i -re 's/(https:\/\/[^) ]*\/pull\/([0-9]+))/[\\#\2](\1)/g' temp_change.md
33+
1634
# Username substitutions for preferred display names
1735
sed -i 's/\[Quotae/\[Quote_a/' temp_change.md
1836
sed -i 's/\[learn2draw/\[Lexy/' temp_change.md
1937
sed -i 's/\[Voronoff/\[Tom Clancy Is Dead/' temp_change.md
2038
sed -i 's/\[PJacek/\[TPlant/' temp_change.md
2139
sed -i 's/\[justjuangui/\[trompetin17/' temp_change.md
2240

23-
sed -i 's/\r//g' temp_change.md
24-
2541
cp temp_change.md changelog_temp.txt
2642
# Append existing CHANGELOG.md content (excluding first line) to temp_change.md
27-
cat CHANGELOG.md | tr \\r \\n | sed '1d' >> temp_change.md
43+
cat CHANGELOG.md | sed '1d' >> temp_change.md
2844
# Create new CHANGELOG.md with header containing version and date, followed by processed changes
2945
printf "# Changelog\n\n## [$RELEASE_VERSION](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/tree/$RELEASE_VERSION) ($(date +'%Y/%m/%d'))\n\n" | cat - temp_change.md > CHANGELOG.md
3046
# Convert changelog entries from markdown link format to simplified "* description (username)" format
31-
sed -i -re 's/^- (.*) \[.*\) \(\[(.*)\]\(.*/* \1 (\2)/' changelog_temp.txt
47+
# First remove all PR links
48+
sed -i -re 's/( \()?\[\\#[0-9]+\]\([^)]*\),? ?\)?//g' changelog_temp.txt
49+
# Remove markdown link formatting from usernames in parentheses
50+
sed -i -re 's/\[([^]]*)\]\(https:\/\/github\.com\/[^)]*\)/\1/g' changelog_temp.txt
3251
# Create new changelog format: add version header, remove lines 2-3, format section headers, remove ## headers with following line, prepend to existing changelog
33-
echo "VERSION[${RELEASE_VERSION#v}][$(date +'%Y/%m/%d')]" | cat - changelog_temp.txt | tr -d \\r | sed '2,3d' | sed -re 's/^### (.*)/\n--- \1 ---/' | sed -e '/^##.*/,+1 d' | cat - changelog.txt > changelog_new.txt
52+
echo "VERSION[${RELEASE_VERSION#v}][$(date +'%Y/%m/%d')]" | cat - changelog_temp.txt | sed '2,3d' | sed -re 's/^### (.*)/\n--- \1 ---/' | sed -e '/^##.*/,+1 d' | cat - changelog.txt > changelog_new.txt
3453
mv changelog_new.txt changelog.txt
3554

3655
# Normalize line endings to CRLF for all output files to ensure consistent checksums with Windows
37-
sed 's/\r*$/\r/' CHANGELOG.md > CHANGELOG_normalized.md && mv CHANGELOG_normalized.md CHANGELOG.md
38-
sed 's/\r*$/\r/' changelog.txt > changelog_normalized.txt && mv changelog_normalized.txt changelog.txt
56+
sed -i 's/\r*$/\r/' CHANGELOG.md changelog.txt
3957

4058
# Clean up temporary files
4159
rm temp_change.md

.github/workflows/beta.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ jobs:
2020
run: |
2121
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
2222
git config --global user.name "github-actions[bot]"
23-
# The hash suffix will help identifying if the beta version is up-to-date
24-
- name: Add commit hash suffix to manifest version
25-
run: |
26-
sed -i "s/<Version number=\"\([^\"]*\)\"/<Version number=\"\1-$(git rev-parse --short HEAD)\"/g" manifest.xml
2723
- name: Generate Release notes
2824
run: |
2925
echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
@@ -35,11 +31,18 @@ jobs:
3531
gh release create beta --title "Beta Release" --draft --generate-notes
3632
gh release view beta > temp_change.md
3733
- name: Tweak changelogs
34+
id: tweak-changelogs
35+
continue-on-error: true
3836
run: |
3937
# Remove carriage returns to be able to run the script
4038
sed -i 's/\r$//' .github/tweak_changelogs.sh
4139
chmod +x .github/tweak_changelogs.sh
4240
.github/tweak_changelogs.sh beta
41+
# The hash suffix will help identifying if the beta version is up-to-date
42+
- name: Add commit hash suffix to manifest version
43+
if: steps.tweak-changelogs.outcome == 'success'
44+
run: |
45+
sed -i "s/<Version number=\"\([^\"]*\)\"/<Version number=\"\1-$(git rev-parse --short HEAD)\"/g" manifest.xml
4346
- name: Update manifest.xml
4447
run: python3 update_manifest.py --quiet --in-place
4548
- name: Push to beta branch

.github/workflows/installer.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ on:
33
release:
44
types: [published]
55
workflow_dispatch:
6+
inputs:
7+
tag_name:
8+
description: 'Tag to build'
9+
required: true
10+
default: 'v0.x.x'
611
env:
712
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
813
jobs:
@@ -23,5 +28,4 @@ jobs:
2328
run: 'python3 make_release.py --game-version 2'
2429
- name: Upload artifact
2530
run: >
26-
gh release upload ${{ github.event.release.tag_name }} (Get-ChildItem Dist -File).FullName --clobber -R ${{ github.repository }};
27-
31+
gh release upload ${{ github.event.release.tag_name || github.event.inputs.tag_name }} (Get-ChildItem Dist -File).FullName --clobber -R ${{ github.repository }};

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
releaseVersion:
77
description: 'Version number to use for this release'
88
required: true
9-
default: '2.x.x'
9+
default: '0.x.x'
1010
releaseNoteUrl:
1111
description: 'Enter the location of edited release notes to use'
1212
required: false

CHANGELOG.md

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

3+
## [v0.12.2](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/tree/v0.12.2) (2025/09/16)
4+
5+
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/compare/v0.12.1...v0.12.2)
6+
7+
8+
## What's Changed
9+
### Fixed Behaviours
10+
- Fix Channel Time on Incinerate [\#1397](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1397) ([LocalIdentity](https://github.com/LocalIdentity))
11+
- Fix Turtle Charm Max Block override not working [\#1393](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1393) ([LocalIdentity](https://github.com/LocalIdentity))
12+
- Fix +1 Corrupted gems not importing with the correct level [\#1398](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1398) ([LocalIdentity](https://github.com/LocalIdentity))
13+
14+
15+
316
## [v0.12.1](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/tree/v0.12.1) (2025/09/15)
417

518
[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/compare/v0.12.0...v0.12.1)

changelog.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
VERSION[0.12.2][2025/09/16]
2+
3+
--- Fixed Behaviours ---
4+
- Fix Channel Time on Incinerate (LocalIdentity)
5+
- Fix Turtle Charm Max Block override not working (LocalIdentity)
6+
- Fix +1 Corrupted gems not importing with the correct level (LocalIdentity)
7+
8+
19
VERSION[0.12.1][2025/09/15]
210

311
--- User Interface ---

src/Classes/ImportTab.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,9 @@ function ImportTabClass:ImportItemsAndSkills(charData)
756756
else
757757
gemInstance.level = tonumber(property.values[1][1]:match("%d+"))
758758
end
759+
if skillData.properties[_ + 2] and skillData.properties[_ + 2].values[1][1]:match("(%d+) Level[s]? from Corruption") then
760+
gemInstance.level = gemInstance.level + tonumber(skillData.properties[_ + 2].values[1][1]:match("(%d+) Level[s]? from Corruption"))
761+
end
759762
elseif escapeGGGString(property.name) == "Quality" then
760763
gemInstance.quality = tonumber(property.values[1][1]:match("%d+"))
761764
end

src/Modules/CalcDefence.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ function calcs.defence(env, actor)
886886
-- Unnatural Resilience needs FireResistTotal before we calc FireResistMax
887887
output[elem.."ResistTotal"] = total
888888
if modDB:Flag(nil, "MaxBlockChanceModsApplyMaxResist") then
889-
local blockMaxBonus = modDB:Sum("BASE", nil, "BlockChanceMax") - 75 -- Subtract base block cap
889+
local blockMaxBonus = modDB:Override(nil, "BlockChanceMax") and 0 or modDB:Sum("BASE", nil, "BlockChanceMax")
890890
max = (modDB:Override(nil, elem.."ResistMax") or m_min(data.misc.MaxResistCap, modDB:Sum("BASE", nil, elem.."ResistMax", isElemental[elem] and "ElementalResistMax"))) + blockMaxBonus
891891
else
892892
max = modDB:Override(nil, elem.."ResistMax") or m_min(data.misc.MaxResistCap, modDB:Sum("BASE", nil, elem.."ResistMax", isElemental[elem] and "ElementalResistMax"))
@@ -941,9 +941,9 @@ function calcs.defence(env, actor)
941941

942942
-- Block
943943
if modDB:Flag(nil, "MaxBlockChanceModsApplyMaxResist") then
944-
output.BlockChanceMax = 75
944+
output.BlockChanceMax = modDB:Override(nil, "BlockChanceMax") or modDB:Sum("BASE", nil, "BaseBlockChanceMax")
945945
else
946-
output.BlockChanceMax = m_min(modDB:Sum("BASE", nil, "BlockChanceMax"), data.misc.BlockChanceCap)
946+
output.BlockChanceMax = m_min(modDB:Override(nil, "BlockChanceMax") or (modDB:Sum("BASE", nil, "BaseBlockChanceMax") + modDB:Sum("BASE", nil, "BlockChanceMax")), data.misc.BlockChanceCap)
947947
end
948948
if modDB:Flag(nil, "MaximumBlockAttackChanceIsEqualToParent") then
949949
output.BlockChanceMax = actor.parent.output.BlockChanceMax
@@ -976,7 +976,7 @@ function calcs.defence(env, actor)
976976
if modDB:Flag(nil, "SpellBlockChanceMaxIsBlockChanceMax") then
977977
output.SpellBlockChanceMax = output.BlockChanceMax
978978
else
979-
output.SpellBlockChanceMax = m_min(modDB:Sum("BASE", nil, "SpellBlockChanceMax"), data.misc.BlockChanceCap)
979+
output.SpellBlockChanceMax = m_min(modDB:Override(nil, "BlockChanceMax") or (modDB:Sum("BASE", nil, "BaseSpellBlockChanceMax") + modDB:Sum("BASE", nil, "SpellBlockChanceMax")), data.misc.BlockChanceCap)
980980
end
981981
if modDB:Flag(nil, "MaxSpellBlockIfNotBlockedRecently") then
982982
output.SpellBlockChance = output.SpellBlockChanceMax

src/Modules/CalcOffence.lua

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2641,7 +2641,10 @@ function calcs.offence(env, actor, activeSkill)
26412641
end
26422642
if skillData.channelTimeMultiplier then
26432643
local minTime = skillData.minChannelTime or 0
2644-
local channelTime = skillData.channelTimeOverride or output.Speed
2644+
local channelTime = output.Speed
2645+
if skillData.channelTimeOverride then
2646+
channelTime = 1 / skillData.channelTimeOverride
2647+
end
26452648
output.ChannelTime = m_max(skillData.channelTimeMultiplier / channelTime, minTime)
26462649
output.ChannelSpeed = output.Speed or output.Time
26472650
end
@@ -2850,7 +2853,10 @@ function calcs.offence(env, actor, activeSkill)
28502853
end
28512854
if skillData.channelTimeMultiplier then
28522855
local minTime = skillData.minChannelTime or 0
2853-
local channelTime = skillData.channelTimeOverride or output.Speed
2856+
local channelTime = output.Speed
2857+
if skillData.channelTimeOverride then
2858+
channelTime = 1 / skillData.channelTimeOverride
2859+
end
28542860
output.ChannelTime = m_max(skillData.channelTimeMultiplier / channelTime, minTime)
28552861
output.ChannelSpeed = output.Speed or output.Time
28562862
end

src/Modules/CalcSections.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1683,7 +1683,7 @@ return {
16831683
extra = "{0:output:EffectiveBlockChance}%",
16841684
{ label = "Block Chance", { format = "{0:output:BlockChance}% (+{0:output:BlockChanceOverCap}%)",
16851685
{ breakdown = "BlockChance" },
1686-
{ modName = { "BlockChance", "ReplaceShieldBlock" } },
1686+
{ modName = { "BlockChance", "ReplaceShieldBlock", "BlockChanceMax" } },
16871687
}, },
16881688
{ label = "Taken From Block", haveOutput = "ShowBlockEffect", { format = "{0:output:DamageTakenOnBlock}%",
16891689
{ breakdown = "BlockEffect" },

0 commit comments

Comments
 (0)