Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.4.170.27 #2233

Merged
merged 125 commits into from
Feb 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
47220c9
Ability to load a build from commandline.
dclamage Jan 25, 2021
91a2701
Fixed typo: null -> nil
dclamage Jan 26, 2021
e31d5fd
Pastebin build URI are now of the form "pob://pastebin/code/" and use…
dclamage Feb 1, 2021
6a17a93
Initial commit to automate release notes
Wires77 Feb 7, 2021
70ff7aa
Rigwald's crest had its mod renamed
Wires77 Feb 7, 2021
5b547ba
Create blank.yml
Wires77 Feb 8, 2021
46f87e1
Reformatting
Wires77 Feb 8, 2021
a0cc089
Installing ruby gem needs sudo?
Wires77 Feb 8, 2021
e9330ef
Tweaked parameters again
Wires77 Feb 8, 2021
81c7caf
Removing test flow
Wires77 Feb 8, 2021
9b029ce
Merge branch 'master' into dev
Feb 8, 2021
ee09ea6
Enabling Phantasmal Summon Skeleton and archers for Vaal Summon Skele…
Wires77 Feb 9, 2021
90cae7f
Made active minion counts generic, fixes Femurs of the Saints
Wires77 Feb 9, 2021
8d71155
added source to align keyword flag properly
Nostrademous Feb 9, 2021
5e3321b
feat: pathlib and handles more exceptions
ppoelzl Feb 9, 2021
65748cc
feat: cli for manifest updater
ppoelzl Feb 9, 2021
93d0f23
refactor: only import argparse when cli is run
ppoelzl Feb 9, 2021
4a8287b
Added tree comparison, update regarding comments, reverted formatting…
Ethrel Feb 8, 2021
296d13d
DeathAuraFix
ALT-F-X Feb 10, 2021
a869e02
fix: update cli usage pattern
ppoelzl Feb 10, 2021
cd294f5
Merge pull request #2162 from ALT-F-X/master
Wires77 Feb 10, 2021
5b6be62
Update update_manifest.py
ppoelzl Feb 10, 2021
a302d6e
feat: remove supported extensions filter
ppoelzl Feb 10, 2021
fa0effe
Merge remote-tracking branch 'origin/feat-improve-manifest-updater' i…
ppoelzl Feb 10, 2021
8ce5f88
Merge pull request #2134 from Wires77/rigwalds_crest
Wires77 Feb 10, 2021
247bbab
Merge pull request #2160 from ppoelzl/feat-improve-manifest-updater
Wires77 Feb 10, 2021
7a78af8
Merge pull request #2158 from Nostrademous/AfflictionFix
Wires77 Feb 10, 2021
216d8af
kebab-case branch names
Wires77 Feb 10, 2021
c8b76e3
Update semVer formatting
Wires77 Feb 10, 2021
74a9fb3
Apply suggestions from code review
Wires77 Feb 10, 2021
1162cb9
Fix item tab jewel hover crash
Ethrel Feb 10, 2021
a5478b3
Last function call I could find...
Ethrel Feb 10, 2021
2a8480c
Fix Ryslatha's Coil not applying to ailments
Quotae Feb 11, 2021
fb63f07
Pure Talent was looking at the wrong starting node for marauder
Wires77 Feb 11, 2021
3b47bfc
Fixes #1657 - Pure Talent now plays nicely with timeless jewels
Wires77 Feb 11, 2021
974c186
Fixes #2159 - Pulled new charges out of config check so minimums stil…
Wires77 Feb 11, 2021
0eab82d
Merge pull request #2039 from dclamage/commandline-pastebin
Wires77 Feb 11, 2021
0a33abd
Merge pull request #2142 from Wires77/automate_release_notes
Wires77 Feb 11, 2021
4e6baae
Revert "Full support for weapon and armour quality modifiers"
Wires77 Feb 11, 2021
7efa2b7
Fixes #2056 - Fixed several issues with quality parsing
Wires77 Feb 11, 2021
a58f627
Added group restrictions to crafted mods for crafted items
Wires77 Feb 11, 2021
8b73733
Added Ailment Flag
ALT-F-X Feb 11, 2021
c28522b
Update Data/SkillStatMap.lua
ALT-F-X Feb 11, 2021
6e574c8
use MineLayingSpeed for Blastchain Supported attacks
Nostrademous Feb 11, 2021
8a00406
fix 'enemy is hexproof' affecting marks
Nostrademous Feb 11, 2021
01db46a
Removed unnecessary m_floor call
Wires77 Feb 11, 2021
bba1344
Address PR review comments
Wires77 Feb 11, 2021
54e6a3e
Divergent Purity of Lightning Fix
ALT-F-X Feb 12, 2021
4bb8f35
added same support for Traps
Nostrademous Feb 12, 2021
d50031a
Supreme Ego now works with non-skill Auras
ALT-F-X Feb 12, 2021
fe27ce4
Update ModParser.lua
ALT-F-X Feb 12, 2021
30b285a
Update for suggested changes
Ethrel Feb 12, 2021
fcfb6ca
Partially fixes #2093 - Searing Bond missing from totem override conf…
Wires77 Feb 12, 2021
f8df6f1
Remove SkillParts from Cyclone
Quotae Feb 12, 2021
4dfc7e3
Merge pull request #2180 from ALT-F-X/Divergent-Purity-of-Lightning-Fix
Wires77 Feb 13, 2021
0dc0b1c
Merge pull request #2172 from PathOfBuildingCommunity/revert-1786-Cra…
Wires77 Feb 13, 2021
22f81ec
Merge pull request #2186 from Quotae/cyclone-skillpart
Wires77 Feb 13, 2021
416094e
Merge pull request #2185 from Wires77/issue-2093
Wires77 Feb 13, 2021
530eb09
Merge pull request #2175 from ALT-F-X/Divergent-Cobra-Lash-Ailment
Wires77 Feb 13, 2021
6d9f8fa
Merge pull request #2171 from Wires77/issue-2159
Wires77 Feb 13, 2021
2474c40
Merge pull request #2170 from Wires77/issue-1657
Wires77 Feb 13, 2021
300a572
Merge pull request #2169 from Wires77/Fix_PureTalent
Wires77 Feb 13, 2021
16eef52
Merge pull request #2168 from Quotae/ryslathas-ailments
Wires77 Feb 13, 2021
e2456b7
Merge pull request #2147 from Wires77/skeleton_archers
Wires77 Feb 13, 2021
efcebe2
Merge pull request #2151 from Ethrel/dev
Wires77 Feb 13, 2021
a7fd54b
Fix for Shockwave secondary trigger rate
Nostrademous Feb 14, 2021
691feb5
Fixes #2190 - Several issues with Doppelganger Guise
Wires77 Feb 14, 2021
1ebccff
Made sane/insane mods a bit more dynamic
Wires77 Feb 14, 2021
92bc400
Clean-up: change ...:Sum('More', cfg, ...) to ...:More(cfg, ...)
Nostrademous Feb 15, 2021
7ce19ae
Fix Doedre's Skin
PJacek Feb 15, 2021
86518b6
Shield Charge: support charge distance multiplier
Helyos96 Feb 15, 2021
dd6ede2
Fixes #2197 - Intimidate/Unnerve mods throwing error
Wires77 Feb 15, 2021
ad32983
Doedre's Effigy improvements
PJacek Feb 15, 2021
6055c34
oops; fixed
Nostrademous Feb 15, 2021
f0988bb
Fix wording on Cospri's Malice
Nostrademous Feb 15, 2021
80b0b11
Fix Inevitability
PJacek Feb 16, 2021
76bfbbe
Merged thousands separator calc and sidebar settings.
Leftn Feb 16, 2021
87ffaf6
Fixes #2208 - Quality for socketed gems missing type
Wires77 Feb 16, 2021
5bce8da
Merge pull request #2153 from Wires77/active_minion_limit
Wires77 Feb 16, 2021
53e7694
Merge pull request #2177 from Nostrademous/Blastchain
Wires77 Feb 16, 2021
64c8834
Merge pull request #2179 from Nostrademous/HexproofFix
Wires77 Feb 16, 2021
9409550
Merge pull request #2184 from ALT-F-X/Plaguebringer-is-not-an-Skill-Aura
Wires77 Feb 16, 2021
186deaf
Merge pull request #2191 from Wires77/issues-2190
Wires77 Feb 16, 2021
0162461
Merge pull request #2195 from Nostrademous/MoreCleanup
Wires77 Feb 16, 2021
94eb5b8
Merge pull request #2205 from PJacek/inevitability
Wires77 Feb 16, 2021
56689fb
Merge branch 'dev' into doedre
Wires77 Feb 16, 2021
7bcd264
Merge pull request #2196 from PJacek/doedre
Wires77 Feb 16, 2021
fe15b56
Merge pull request #2198 from Helyos96/shieldcharge
Wires77 Feb 16, 2021
09f2908
Merge pull request #2201 from Nostrademous/Cospri
Wires77 Feb 16, 2021
f57eba9
Fixed last references to showThousandsCalcs, separators now showup on…
Leftn Feb 16, 2021
09f44cb
Fixed calc overview of sources of increases/reductions not being form…
Leftn Feb 16, 2021
82b0a14
Implemented PoE matching search function. Resolves #2173
Ethrel Feb 16, 2021
4f418fc
Fixed remaining numbers not getting formatted by formatNumSep
Leftn Feb 16, 2021
e41889b
Removed nil comparison
Leftn Feb 16, 2021
f33ab00
improved ascendancy dropdown population
Nostrademous Feb 17, 2021
1f7a5fe
re-worded to British English; got rid of copyTable()
Nostrademous Feb 17, 2021
77b82ac
Reworked formatNumSep to be a bit more robust against various numbers…
Leftn Feb 17, 2021
b8d3ee2
Fixed hex colours being formatted in calcbreakdown
Leftn Feb 17, 2021
0350a7d
Implemented PoE matching search function. Resolves #2173
Ethrel Feb 16, 2021
245c5b9
Merge branch 'Search' of https://github.com/Ethrel/PathOfBuilding int…
Ethrel Feb 18, 2021
ad352f4
implementation issue fix: search wasn't matching across multiple line…
Ethrel Feb 18, 2021
4b31e19
style: formatting
ppoelzl Feb 18, 2021
7541453
Fixed bug where an empty thousandsSeparator would remove the leading …
Leftn Feb 18, 2021
b28f925
Remove print statement and add 'local' to variables
Wires77 Feb 18, 2021
80a658e
Disabled certain control characters from being used as decimal/thousa…
Leftn Feb 18, 2021
6e2ebc4
Merge remote-tracking branch 'origin/dev' into dev
Leftn Feb 18, 2021
a321713
Added support for "you take no extra damage from critical strike whil…
wjdeclan Feb 18, 2021
e1b3f67
Requested changes
Ethrel Feb 18, 2021
bfc6010
Update ConfigOptions.lua
ALT-F-X Feb 19, 2021
bea919f
Merge pull request #2211 from Nostrademous/ImprovedOnFrame
Wires77 Feb 19, 2021
4f936c8
Merge pull request #2209 from PathOfBuildingCommunity/issue-2208
Wires77 Feb 19, 2021
21a46c4
Merge pull request #2199 from Wires77/issue-2197
Wires77 Feb 19, 2021
31bcff0
Merge pull request #2207 from Leftn/dev
Wires77 Feb 19, 2021
4e06f2f
Merge pull request #2174 from Wires77/crafted-mod-restrictions
Wires77 Feb 19, 2021
545b610
Merge pull request #2210 from Ethrel/Search
Wires77 Feb 21, 2021
af19957
Merge pull request #2188 from Nostrademous/ShockwaveFix
Wires77 Feb 21, 2021
d4d077a
Merge pull request #2220 from ALT-F-X/Divergent-Endurance-Charge-on-M…
Wires77 Feb 21, 2021
3914f3a
Merge pull request #2218 from wjdeclan/reduced-crit-elusive
Wires77 Feb 21, 2021
aa5c0e9
Generate ModCache.lua, export scripts
Wires77 Feb 21, 2021
cb22dab
Auto-generate CHANGELOG.md and update manifest.xml
Wires77 Feb 21, 2021
1972699
Standardized changelog messages
Wires77 Feb 21, 2021
af203ff
Merge pull request #2228 from Wires77/release_1.4.170.27
Wires77 Feb 21, 2021
136da6e
Remove technical update from changelog
Wires77 Feb 21, 2021
5e090e3
Revert change to ModCache hash
Wires77 Feb 21, 2021
19dfb46
Merge pull request #2232 from Wires77/dev
Wires77 Feb 21, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Release next version
on:
workflow_dispatch:
inputs:
sinceTag:
description: 'Gather updates from this tag until now'
required: true
default: '2.0.x'
releaseVersion:
description: 'Version number to use for this release'
required: true
default: '2.0.x + 1'
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install changelog generator
run: sudo gem install github_changelog_generator
- name: Generate Release notes
run: github_changelog_generator --user ${{ github.repository_owner }} --project ${{ github.event.repository.name }} -t ${{ secrets.GITHUB_TOKEN }} -b CHANGELOG.md --release-branch dev --exclude-labels invalid,duplicate --future-release ${{ github.event.inputs.releaseVersion }} --since-tag ${{ github.event.inputs.sinceTag }} --no-issues true --date-format %Y/%m/%d
- name: Update manifest.xml
run: python3 update_manifest.py --quiet --in-place --set-version=${{ github.event.inputs.releaseVersion }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3.8.0
with:
draft: true
title: Release ${{ github.event.inputs.releaseVersion }}
branch: release-${{ github.event.inputs.releaseVersion }}
body: |
Draft release of ${{ github.event.inputs.releaseVersion }}.

Edits will be made as necessary to prepare the codebase for release.
commit-message: 'Prepare release ${{ github.event.inputs.releaseVersion }}'
46 changes: 46 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
# Changelog

### [1.4.170.27](https://github.com/PathOfBuildingCommunity/PathOfBuilding/tree/v1.4.170.27) (2021/02/21)

[Full Changelog](https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v1.4.170.26...v1.4.170.27)

**Implemented enhancements:**

- Add charge distance multiplier for Shield Charge [\#2198](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2198) ([Helyos96](https://github.com/Helyos96))
- Add group restrictions to crafted mods for crafted items [\#2174](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2174) ([Wires77](https://github.com/Wires77))
- Add skill tree comparison [\#2151](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2151) ([Ethrel](https://github.com/Ethrel))
- Add future support to load a build from commandline [\#2039](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2039) ([dclamage](https://github.com/dclamage))
- Add support for Assassin's Mistwalker elusive mod [\#2218](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2218) ([wjdeclan](https://github.com/wjdeclan))
- Add PoE matching search function [\#2210](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2210) ([Ethrel](https://github.com/Ethrel))
- Add customisation options for decimal and thousands separators [\#2207](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2207) ([Leftn](https://github.com/Leftn))
- Add support for Doedre's Skin curse pillar [\#2196](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2196) ([PJacek](https://github.com/PJacek))

**Fixed bugs:**

- Fix minimum charges not working for new belts [\#2171](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2171) ([Wires77](https://github.com/Wires77))
- Fix Inevitability to specify Rolling Magma [\#2205](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2205) ([PJacek](https://github.com/PJacek))
- Fix Cospri's Malice wording [\#2201](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2201) ([Nostrademous](https://github.com/Nostrademous))
- Fix Intimidate/Unnerve mods throwing an error [\#2199](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2199) ([Wires77](https://github.com/Wires77))
- Fix several issues with Doppelganger Guise [\#2191](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2191) ([Wires77](https://github.com/Wires77))
- Fix for Shockwave secondary trigger rate [\#2188](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2188) ([Nostrademous](https://github.com/Nostrademous))
- Fix Supreme Ego not working with non-skill Auras [\#2184](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2184) ([ALT-F-X](https://github.com/ALT-F-X))
- Fix Divergent Purity of Lightning [\#2180](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2180) ([ALT-F-X](https://github.com/ALT-F-X))
- Fix 'enemy is hexproof' Config Setting affecting marks [\#2179](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2179) ([Nostrademous](https://github.com/Nostrademous))
- Fix Attack Speed affecting Mine or Trap Supported attacks [\#2177](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2177) ([Nostrademous](https://github.com/Nostrademous))
- Fix Divergent Cobra Lash [\#2175](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2175) ([ALT-F-X](https://github.com/ALT-F-X))
- Fix Pure Talent looking at the wrong starting node for marauder [\#2169](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2169) ([Wires77](https://github.com/Wires77))
- Fix Ryslatha's Coil not applying to ailments [\#2168](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2168) ([Quote_a](https://github.com/Quotae))
- Fix Affliction Charges for Ailments [\#2158](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2158) ([Nostrademous](https://github.com/Nostrademous))
- Fix Femurs of the Saints [\#2153](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2153) ([Wires77](https://github.com/Wires77))
- Fix Phantasmal Summon Skeleton and archers for Vaal Summon Skeletons [\#2147](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2147) ([Wires77](https://github.com/Wires77))
- Fix Divergent Endurance Charge on Melee Stun not showing the right checkbox [\#2220](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2220) ([ALT-F-X](https://github.com/ALT-F-X))
- Fix quality for socketed gems applying to all gems [\#2209](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2209) ([Wires77](https://github.com/Wires77))
- Fix totem number configuration not showing with Searing Bond [\#2185](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2185) ([Wires77](https://github.com/Wires77))
- Fix crafted quality applying twice to imported gear [\#2172](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2172) ([Wires77](https://github.com/Wires77))
- Fix Pure Talent so it now plays nicely with timeless jewels [\#2170](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2170) ([Wires77](https://github.com/Wires77))
- Fix Death Aura not applying area modifiers [\#2162](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2162) ([ALT-F-X](https://github.com/ALT-F-X))
- Update wording on Rigwald's crest [\#2134](https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2134) ([Wires77](https://github.com/Wires77))

### 1.4.170.26 - 2021/02/09
* Add control to set Vaal Timeless Jewel influenced passive skills to random mods (Wires77)
* Add all new uniques in game patch 3.13.0 (Nostrademous, ppoelzl)
Expand Down Expand Up @@ -3017,3 +3060,6 @@ Other changes:

### 1.0.1 - 2016/08/31
* Fixed an error in the build list screen


\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
18 changes: 6 additions & 12 deletions Classes/CalcBreakdownControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ function CalcBreakdownClass:SetBreakdownData(displayData, pinned)
section.width = 0
for _, line in ipairs(section.lines) do
local _, num = string.gsub(line, "%d%d%d%d", "") -- count how many commas will be added
if main.showThousandsCalcs and num > 0 then
if main.showThousandsSeparators and num > 0 then
section.width = m_max(section.width, DrawStringWidth(section.textSize, "VAR", line) + 8 + (4 * num))
else
section.width = m_max(section.width, DrawStringWidth(section.textSize, "VAR", line) + 8)
Expand All @@ -85,7 +85,7 @@ function CalcBreakdownClass:SetBreakdownData(displayData, pinned)
for _, row in pairs(section.rowList) do
if row[col.key] then
local _, num = string.gsub(row[col.key], "%d%d%d%d", "") -- count how many commas will be added
if main.showThousandsCalcs and num > 0 then
if main.showThousandsSeparators and num > 0 then
col.width = m_max(col.width or 0, DrawStringWidth(16, "VAR", col.label) + 6, DrawStringWidth(12, "VAR", row[col.key]) + 6 + (4 * num))
else
col.width = m_max(col.width or 0, DrawStringWidth(16, "VAR", col.label) + 6, DrawStringWidth(12, "VAR", row[col.key]) + 6)
Expand Down Expand Up @@ -537,14 +537,12 @@ function CalcBreakdownClass:DrawBreakdownTable(viewPort, x, y, section)
local _, alpha = string.gsub(row[col.key], "%a", " ") -- counts letters in the string
local _, notes = string.gsub(row[col.key], " to ", " ") -- counts " to " in the string
local _, paren = string.gsub(row[col.key], "%b()", " ") -- counts parenthesis in the string
if main.showThousandsCalcs and (alpha == 0 or notes > 0 or paren > 0) and col.right then
if (alpha == 0 or notes > 0 or paren > 0) and col.right then
DrawString(col.x + col.width - 4, rowY + 1, "RIGHT_X", 12, "VAR", "^7"..formatNumSep(tostring(row[col.key])))
elseif col.right then
DrawString(col.x + col.width - 4, rowY + 1, "RIGHT_X", 12, "VAR", "^7"..row[col.key])
elseif main.showThousandsCalcs and (alpha == 0 or notes > 0 or paren > 0) then
elseif (alpha == 0 or notes > 0 or paren > 0) then
DrawString(col.x, rowY + 1, "LEFT", 12, "VAR", "^7"..formatNumSep(tostring(row[col.key])))
else
DrawString(col.x, rowY + 1, "LEFT", 12, "VAR", "^7"..row[col.key])
DrawString(col.x, rowY + 1, "LEFT", 12, "VAR", "^7"..tostring(row[col.key]))
end
local ttFunc = row[col.key.."Tooltip"]
local ttNode = row[col.key.."Node"]
Expand Down Expand Up @@ -675,11 +673,7 @@ function CalcBreakdownClass:Draw(viewPort)
for i, line in ipairs(section.lines) do
SetDrawColor(1, 1, 1)
local _, dec = string.gsub(line, "%.%d%d.", " ") -- counts decimals with 2 or more digits
if main.showThousandsCalcs and dec == 0 then
DrawString(x + 4, lineY, "LEFT", section.textSize, "VAR", formatNumSep(line))
else
DrawString(x + 4, lineY, "LEFT", section.textSize, "VAR", line)
end
DrawString(x + 4, lineY, "LEFT", section.textSize, "VAR", formatNumSep(line))
lineY = lineY + section.textSize
end
elseif section.type == "TABLE" then
Expand Down
6 changes: 1 addition & 5 deletions Classes/CalcSectionControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,7 @@ function CalcSectionClass:UpdatePos()
end

function CalcSectionClass:FormatVal(val, p)
if main.showThousandsCalcs then
return formatNumSep(tostring(round(val, p)))
else
return round(val, p)
end
return formatNumSep(tostring(round(val, p)))
end

function CalcSectionClass:FormatStr(str, actor, colData)
Expand Down
32 changes: 16 additions & 16 deletions Classes/Item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,6 @@ function ItemClass:ParseRaw(raw)
self.itemLevel = tonumber(specVal)
elseif specName == "Quality" then
self.quality = tonumber(specVal)
if line:match(" %(augmented%)") and self.quality ~= 30 then
self.quality = 20
end
elseif specName == "Sockets" then
local group = 0
for c in specVal:gmatch(".") do
Expand Down Expand Up @@ -891,25 +888,30 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
end
end
end
local extraQuality = sumLocal(modList, "Quality", "BASE", 0)
local craftedQuality = sumLocal(modList,"Quality","BASE",0)
if craftedQuality ~= self.craftedQuality then
if self.craftedQuality then
self.quality = self.quality - self.craftedQuality + craftedQuality
end
self.craftedQuality = craftedQuality
end
if self.quality then
modList:NewMod("Multiplier:QualityOn"..slotName, "BASE", self.quality + extraQuality, "Quality")
modList:NewMod("Multiplier:QualityOn"..slotName, "BASE", self.quality, "Quality")
end
if self.base.weapon then
local weaponData = { }
self.weaponData[slotNum] = weaponData
weaponData.type = self.base.type
weaponData.name = self.name
weaponData.quality = extraQuality + self.quality
weaponData.AttackSpeedInc = sumLocal(modList, "Speed", "INC", ModFlag.Attack) + m_floor(weaponData.quality / 8 * sumLocal(modList, "AlternateQualityLocalAttackSpeedPer8Quality", "INC", 0))
weaponData.AttackSpeedInc = sumLocal(modList, "Speed", "INC", ModFlag.Attack) + m_floor(self.quality / 8 * sumLocal(modList, "AlternateQualityLocalAttackSpeedPer8Quality", "INC", 0))
weaponData.AttackRate = round(self.base.weapon.AttackRateBase * (1 + weaponData.AttackSpeedInc / 100), 2)
weaponData.range = self.base.weapon.Range + sumLocal(modList, "WeaponRange", "BASE", 0) + m_floor(weaponData.quality / 10 * sumLocal(modList, "AlternateQualityLocalWeaponRangePer10Quality", "BASE", 0))
weaponData.range = self.base.weapon.Range + sumLocal(modList, "WeaponRange", "BASE", 0) + m_floor(self.quality / 10 * sumLocal(modList, "AlternateQualityLocalWeaponRangePer10Quality", "BASE", 0))
for _, dmgType in pairs(dmgTypeList) do
local min = (self.base.weapon[dmgType.."Min"] or 0) + sumLocal(modList, dmgType.."Min", "BASE", 0)
local max = (self.base.weapon[dmgType.."Max"] or 0) + sumLocal(modList, dmgType.."Max", "BASE", 0)
if dmgType == "Physical" then
local physInc = sumLocal(modList, "PhysicalDamage", "INC", 0)
local qualityScalar = weaponData.quality
local qualityScalar = self.quality
if sumLocal(modList, "AlternateQualityWeapon", "BASE", 0) > 0 then
qualityScalar = 0
end
Expand All @@ -926,7 +928,7 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
end
end
end
weaponData.CritChance = round(self.base.weapon.CritChanceBase * (1 + (sumLocal(modList, "CritChance", "INC", 0) + m_floor(weaponData.quality / 4 * sumLocal(modList, "AlternateQualityLocalCritChancePer4Quality", "INC", 0))) / 100), 2)
weaponData.CritChance = round(self.base.weapon.CritChanceBase * (1 + (sumLocal(modList, "CritChance", "INC", 0) + m_floor(self.quality / 4 * sumLocal(modList, "AlternateQualityLocalCritChancePer4Quality", "INC", 0))) / 100), 2)
for _, value in ipairs(modList:List(nil, "WeaponData")) do
weaponData[value.key] = value.value
end
Expand All @@ -948,7 +950,6 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
end
elseif self.base.armour then
local armourData = self.armourData
armourData.quality = self.quality + extraQuality
local armourBase = sumLocal(modList, "Armour", "BASE", 0) + (self.base.armour.ArmourBase or 0)
local armourEvasionBase = sumLocal(modList, "ArmourAndEvasion", "BASE", 0)
local evasionBase = sumLocal(modList, "Evasion", "BASE", 0) + (self.base.armour.EvasionBase or 0)
Expand All @@ -962,7 +963,7 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
local energyShieldInc = sumLocal(modList, "EnergyShield", "INC", 0)
local armourEnergyShieldInc = sumLocal(modList, "ArmourAndEnergyShield", "INC", 0)
local defencesInc = sumLocal(modList, "Defences", "INC", 0)
local qualityScalar = armourData.quality
local qualityScalar = self.quality
if sumLocal(modList, "AlternateQualityArmour", "BASE", 0) > 0 then
qualityScalar = 0
end
Expand All @@ -981,28 +982,27 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
elseif self.base.flask then
local flaskData = self.flaskData
local durationInc = sumLocal(modList, "Duration", "INC", 0)
flaskData.quality = self.quality + extraQuality
if self.base.flask.life or self.base.flask.mana then
-- Recovery flask
flaskData.instantPerc = sumLocal(modList, "FlaskInstantRecovery", "BASE", 0)
local recoveryMod = 1 + sumLocal(modList, "FlaskRecovery", "INC", 0) / 100
local rateMod = 1 + sumLocal(modList, "FlaskRecoveryRate", "INC", 0) / 100
flaskData.duration = self.base.flask.duration * (1 + durationInc / 100) / rateMod
if self.base.flask.life then
flaskData.lifeBase = self.base.flask.life * (1 + flaskData.quality / 100) * recoveryMod
flaskData.lifeBase = self.base.flask.life * (1 + self.quality / 100) * recoveryMod
flaskData.lifeInstant = flaskData.lifeBase * flaskData.instantPerc / 100
flaskData.lifeGradual = flaskData.lifeBase * (1 - flaskData.instantPerc / 100) * (1 + durationInc / 100)
flaskData.lifeTotal = flaskData.lifeInstant + flaskData.lifeGradual
end
if self.base.flask.mana then
flaskData.manaBase = self.base.flask.mana * (1 + flaskData.quality / 100) * recoveryMod
flaskData.manaBase = self.base.flask.mana * (1 + self.quality / 100) * recoveryMod
flaskData.manaInstant = flaskData.manaBase * flaskData.instantPerc / 100
flaskData.manaGradual = flaskData.manaBase * (1 - flaskData.instantPerc / 100) * (1 + durationInc / 100)
flaskData.manaTotal = flaskData.manaInstant + flaskData.manaGradual
end
else
-- Utility flask
flaskData.duration = self.base.flask.duration * (1 + (durationInc + flaskData.quality) / 100)
flaskData.duration = self.base.flask.duration * (1 + (durationInc + self.quality) / 100)
end
flaskData.chargesMax = self.base.flask.chargesMax + sumLocal(modList, "FlaskCharges", "BASE", 0)
flaskData.chargesUsed = m_floor(self.base.flask.chargesUsed * (1 + sumLocal(modList, "FlaskChargesUsed", "INC", 0) / 100))
Expand Down
35 changes: 24 additions & 11 deletions Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -598,16 +598,20 @@ If there's 2 slots an item can go in, holding Shift will put it in the second.]]
for l, line in ipairs(minMod) do
local minLine = line:gsub("%((%d[%d%.]*)%-(%d[%d%.]*)%)", "%1")
local maxLine = maxMod[l]:gsub("%((%d[%d%.]*)%-(%d[%d%.]*)%)", "%2")
local start = 1
tooltip:AddLine(14, minLine:gsub("%d[%d%.]*", function(min)
local s, e, max = maxLine:find("(%d[%d%.]*)", start)
start = e + 1
if min == max then
return min
else
return "("..min.."-"..max..")"
end
end))
if maxLine == maxMod[l] then
tooltip:AddLine(14, maxLine)
else
local start = 1
tooltip:AddLine(14, minLine:gsub("%d[%d%.]*", function(min)
local s, e, max = maxLine:find("(%d[%d%.]*)", start)
start = e + 1
if min == max then
return min
else
return "("..min.."-"..max..")"
end
end))
end
end
tooltip:AddLine(16, "Level: "..minMod.level.." to "..maxMod.level)
-- Assuming that all mods have the same tags
Expand Down Expand Up @@ -1482,6 +1486,7 @@ function ItemsTabClass:UpdateCustomControls()
self.controls["displayItemCustomModifierLabel"..i].label = modLine.crafted and "^7Crafted:" or "^7Custom:"
self.controls["displayItemCustomModifierRemove"..i].onClick = function()
t_remove(item.explicitModLines, index)
item:BuildAndParseRaw()
local id = item.id
self:CreateDisplayItemFromRaw(item:BuildRaw())
self.displayItem.id = id
Expand Down Expand Up @@ -2026,8 +2031,16 @@ function ItemsTabClass:AddCustomModifierToDisplayItem()
local function buildMods(sourceId)
wipeTable(modList)
if sourceId == "MASTER" then
local excludeGroups = { }
for _, modLine in ipairs({ self.displayItem.prefixes, self.displayItem.suffixes }) do
for i = 1, self.displayItem.affixLimit / 2 do
if modLine[i].modId ~= "None" then
excludeGroups[self.displayItem.affixes[modLine[i].modId].group] = true
end
end
end
for i, craft in ipairs(self.build.data.masterMods) do
if craft.types[self.displayItem.type] then
if craft.types[self.displayItem.type] and not excludeGroups[craft.group] then
t_insert(modList, {
label = table.concat(craft, "/") .. " ^8(" .. craft.type .. ")",
mod = craft,
Expand Down
Loading