From fd83d96c3a5465920200d7c1090946a5944a3caf Mon Sep 17 00:00:00 2001 From: vickydotbat Date: Wed, 27 May 2026 09:22:18 +0200 Subject: [PATCH] Support skill list generation with used attribute --- internal/topdata/wiki_data_providers.go | 3 +++ internal/topdata/wiki_native_test.go | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/topdata/wiki_data_providers.go b/internal/topdata/wiki_data_providers.go index 287bd4b..0ed671f 100644 --- a/internal/topdata/wiki_data_providers.go +++ b/internal/topdata/wiki_data_providers.go @@ -458,6 +458,9 @@ func (ctx *wikiContext) classSkillRows(classRow map[string]any) []map[string]any row := cloneRowMap(source) row["SkillKey"] = key row["SkillName"] = ctx.resolveSkillName(key) + if skillRow := ctx.skillRows[key]; skillRow != nil { + row["SkillAbility"] = stringValue(skillRow, "KeyAbility") + } rows = append(rows, row) } return rows diff --git a/internal/topdata/wiki_native_test.go b/internal/topdata/wiki_native_test.go index e7e8f79..4ed6b02 100644 --- a/internal/topdata/wiki_native_test.go +++ b/internal/topdata/wiki_native_test.go @@ -991,9 +991,9 @@ func TestWikiTemplateEachBlockRendersClassSkillsAsIndividualListItems(t *testing 3: "skills:secret", }, skillRows: map[string]map[string]any{ - "skills:athletics": {"Name": "Athletics"}, - "skills:parry": {"Name": "Parry"}, - "skills:secret": {"Name": "Secret"}, + "skills:athletics": {"Name": "Athletics", "KeyAbility": "STR"}, + "skills:parry": {"Name": "Parry", "KeyAbility": "DEX"}, + "skills:secret": {"Name": "Secret", "KeyAbility": "INT"}, }, } page := wikiTemplatePage{ @@ -1008,7 +1008,7 @@ func TestWikiTemplateEachBlockRendersClassSkillsAsIndividualListItems(t *testing template := `` @@ -1017,8 +1017,8 @@ func TestWikiTemplateEachBlockRendersClassSkillsAsIndividualListItems(t *testing t.Fatalf("render template: %v", err) } for _, want := range []string{ - `
  • [[Skills/Athletics|Athletics]]
  • `, - `
  • [[Skills/Parry|Parry]]
  • `, + `
  • [[Skills/Athletics|Athletics]] (Str)
  • `, + `
  • [[Skills/Parry|Parry]] (Dex)
  • `, } { if !strings.Contains(got, want) { t.Fatalf("expected rendered output to contain %q:\n%s", want, got)