Skip to content

Commit 649951b

Browse files
committed
Merge remote-tracking branch 'vilsol/main' into update-upstream
2 parents 4510ad9 + 3f70cae commit 649951b

35 files changed

Lines changed: 835 additions & 791 deletions

.github/workflows/push.yml

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,21 @@ permissions: read-all
55
on: [push, pull_request]
66

77
env:
8-
GO_VERSION: '1.21.0'
8+
GO_VERSION: "1.21.0"
99

1010
jobs:
1111
lint-backend:
1212
name: Lint Backend
1313
runs-on: ubuntu-latest
1414
steps:
15-
- name: Set up Go
16-
uses: actions/setup-go@v2
17-
with:
18-
go-version: ${{ env.GO_VERSION }}
19-
stable: false
15+
- uses: actions/checkout@v4
2016

21-
- name: Check out code
22-
uses: actions/checkout@v2
17+
- uses: actions/setup-go@v5
18+
with:
19+
go-version-file: "go.mod"
2320

24-
- name: Lint
25-
uses: golangci/golangci-lint-action@v2
21+
- uses: golangci/golangci-lint-action@v6
2622
with:
27-
skip-pkg-cache: true
28-
skip-build-cache: true
2923
args: --timeout 5m
3024

3125
lint-frontend:
@@ -46,14 +40,11 @@ jobs:
4640
name: Test
4741
runs-on: ubuntu-latest
4842
steps:
49-
- name: Set up Go
50-
uses: actions/setup-go@v2
51-
with:
52-
go-version: ${{ env.GO_VERSION }}
53-
stable: false
43+
- uses: actions/checkout@v4
5444

55-
- name: Check out code
56-
uses: actions/checkout@v2
45+
- uses: actions/setup-go@v5
46+
with:
47+
go-version-file: "go.mod"
5748

5849
- name: Test
5950
run: go test -v ./...
@@ -64,14 +55,11 @@ jobs:
6455
needs:
6556
- lint-backend
6657
steps:
67-
- name: Set up Go
68-
uses: actions/setup-go@v2
69-
with:
70-
go-version: ${{ env.GO_VERSION }}
71-
stable: false
58+
- uses: actions/checkout@v4
7259

73-
- name: Check out
74-
uses: actions/checkout@v2
60+
- uses: actions/setup-go@v5
61+
with:
62+
go-version-file: "go.mod"
7563

7664
- name: Build wasm
7765
run: go build -ldflags="-s -w" -v -o build.wasm ./wasm
@@ -94,5 +82,5 @@ jobs:
9482
- name: Build frontend
9583
working-directory: frontend
9684
run: |
97-
bun install
85+
bun install
9886
bun run build

.github/workflows/release.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,14 @@ on:
66
- v*
77

88
env:
9-
GO_VERSION: '1.21.0'
9+
GO_VERSION: "1.21.0"
1010

1111
jobs:
1212
release:
1313
name: Release
1414
runs-on: ubuntu-latest
1515
steps:
16-
- name: Set up Go
17-
uses: actions/setup-go@v2
18-
with:
19-
go-version: ${{ env.GO_VERSION }}
20-
stable: false
16+
- uses: actions/checkout@v4
2117

2218
- name: Check out
2319
uses: actions/checkout@v2
@@ -38,9 +34,8 @@ jobs:
3834
bun run build
3935
ls -lah build
4036
41-
- name: Deploy
42-
uses: peaceiris/actions-gh-pages@v3
37+
- uses: peaceiris/actions-gh-pages@v4
4338
with:
4439
github_token: ${{ secrets.GITHUB_TOKEN }}
4540
publish_dir: ./frontend/build
46-
exclude_assets: ''
41+
exclude_assets: ""

.golangci.yml

Lines changed: 62 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,87 @@
11
linters-settings:
22
wrapcheck:
3+
ignoreSigs:
4+
- .Errorf(
5+
- errors.New(
6+
- errors.Unwrap(
7+
- .WithMessage(
8+
- .WithMessagef(
9+
- .WithStack(
10+
- github.com/labstack/echo/v4.Context
11+
312
ignorePackageGlobs:
413
- github.com/vilsol/timeless-jewels/*
514

15+
govet:
16+
disable:
17+
- shadow
18+
19+
gocritic:
20+
disabled-checks:
21+
- ifElseChain
22+
23+
gci:
24+
custom-order: true
25+
sections:
26+
- standard
27+
- default
28+
- prefix(github.com/vilsol/timeless-jewels)
29+
- blank
30+
- dot
31+
32+
sloglint:
33+
attr-only: true
34+
context: scope
35+
forbidden-keys:
36+
- time
37+
- level
38+
- msg
39+
- source
40+
41+
spancheck:
42+
checks:
43+
- end
44+
- record-error
45+
- set-status
46+
47+
48+
issues:
49+
exclude-files:
50+
- ./generated/generated.go
51+
- ./generated/models_gen.go
52+
exclude-dirs:
53+
- ./generated/
54+
exclude:
55+
- should pass the context parameter
56+
657
linters:
758
disable-all: true
859
enable:
9-
- deadcode
1060
- errcheck
1161
- gosimple
1262
- govet
1363
- ineffassign
1464
- staticcheck
15-
- structcheck
1665
- typecheck
1766
- unused
18-
- varcheck
1967
- bidichk
2068
- contextcheck
2169
- durationcheck
2270
- errorlint
23-
- goconst
2471
- goimports
2572
- revive
26-
- ifshort
2773
- misspell
2874
- prealloc
2975
- whitespace
3076
- wrapcheck
77+
- gci
78+
- gocritic
79+
- gofumpt
80+
- nonamedreturns
81+
- inamedparam
82+
- sloglint
83+
- spancheck
84+
- intrange
85+
- copyloopvar
86+
- fatcontext
87+
- canonicalheader

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
wasm:
33
GOOS=js GOARCH=wasm go build -ldflags="-s -w" -v -o frontend/static/calculator.wasm ./wasm
44
dev: wasm
5-
cd frontend; bun run dev
5+
cd frontend; bun install; bun run dev

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,17 @@ A simple timeless jewel calculator with a skill tree view
44

55
Hosted Version: [https://vilsol.github.io/timeless-jewels](https://vilsol.github.io/timeless-jewels)
66

7-
Uses data extracted with https://github.com/Vilsol/go-pob-data
7+
Uses data extracted with https://github.com/Vilsol/go-pob-data
8+
9+
## Updates to new leagues
10+
11+
Whenever a new league is coming, the passive tree might get updated.
12+
**But** it is not guaranteed to contain correct data until a game download is available.
13+
14+
Specifically, this project depends on the following data tables:
15+
16+
* Alternate Passive Additions
17+
* Alternate Passive Skills
18+
* Passive Skills
19+
* Stats
20+
* Translations

calculator/main.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,16 @@ func ReverseSearch(passiveIDs []uint32, statIDs []uint32, timelessJewelType data
7676

7777
results := make(map[uint32]map[uint32]map[uint32]uint32)
7878

79-
min := data.TimelessJewelSeedRanges[timelessJewelType].Min
80-
max := data.TimelessJewelSeedRanges[timelessJewelType].Max
79+
seedMin := data.TimelessJewelSeedRanges[timelessJewelType].Min
80+
seedMax := data.TimelessJewelSeedRanges[timelessJewelType].Max
8181

8282
if data.TimelessJewelSeedRanges[timelessJewelType].Special {
83-
min /= 20
84-
max /= 20
83+
seedMin /= 20
84+
seedMax /= 20
8585
}
8686

8787
rng := random.NewRNG()
88-
for seed := min; seed <= max; seed++ {
88+
for seed := seedMin; seed <= seedMax; seed++ {
8989
realSeed := seed
9090
if data.TimelessJewelSeedRanges[timelessJewelType].Special {
9191
realSeed *= 20

calculator/tree_manager.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func (a *AlternateTreeManager) ReplacePassiveSkill(rng *random.NumberGenerator)
9696

9797
elements := min(uint32(len(rolledAlternatePassiveSkill.StatsKeys)), 4)
9898
alternatePassiveSkillStatRolls := make(map[uint32]uint32, elements)
99-
for i := uint32(0); i < elements; i++ {
99+
for i := range elements {
100100
alternatePassiveSkillStatRolls[i] = rolledAlternatePassiveSkill.GetStatMinMax(true, i)
101101

102102
if rolledAlternatePassiveSkill.GetStatMinMax(false, i) > rolledAlternatePassiveSkill.GetStatMinMax(true, i) {
@@ -130,7 +130,7 @@ func (a *AlternateTreeManager) RollAdditions(minimumAdditions uint32, maximumAdd
130130

131131
alternatePassiveAdditionInformations := make([]data.AlternatePassiveAdditionInformation, 0)
132132

133-
for i := uint32(0); i < additionCountRoll; i++ {
133+
for range additionCountRoll {
134134
var rolledAlternatePassiveAddition *data.AlternatePassiveAddition
135135

136136
for rolledAlternatePassiveAddition == nil {
@@ -139,7 +139,7 @@ func (a *AlternateTreeManager) RollAdditions(minimumAdditions uint32, maximumAdd
139139

140140
elements := min(uint32(len(rolledAlternatePassiveAddition.StatsKeys)), 2)
141141
alternatePassiveAdditionStatRolls := make(map[uint32]uint32, elements)
142-
for j := uint32(0); j < elements; j++ {
142+
for j := range elements {
143143
alternatePassiveAdditionStatRolls[j] = rolledAlternatePassiveAddition.GetStatMinMax(true, j)
144144

145145
if rolledAlternatePassiveAddition.GetStatMinMax(false, j) > rolledAlternatePassiveAddition.GetStatMinMax(true, j) {
@@ -155,10 +155,3 @@ func (a *AlternateTreeManager) RollAdditions(minimumAdditions uint32, maximumAdd
155155

156156
return alternatePassiveAdditionInformations
157157
}
158-
159-
func min(a uint32, b uint32) uint32 {
160-
if a < b {
161-
return a
162-
}
163-
return b
164-
}

data/SkillTree.json.gz

27.4 KB
Binary file not shown.
4 Bytes
Binary file not shown.
-4 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)