Skip to content

Add the authored lineage2_Unknown.png placeholder (#3) - #9

Merged
avandenberghe merged 1 commit into
mainfrom
issue-3-unknown-icon
Sep 24, 2026
Merged

avandenberghe merged 1 commit into
mainfrom
issue-3-unknown-icon

Conversation

@avandenberghe

Copy link
Copy Markdown
Collaborator

Refs #3 — one of that issue's 12 missing class_images/ icons. Adds lineage2_Unknown.png at 30x30, matching all 98 existing class icons.

Note the capitalised filename: the installer seeds lineage2_Unknown, unlike every other plugin's lowercase convention. The file matches the seeded value exactly, since case matters on a Linux host even though it doesn't on macOS. avathar/bbguild#391 suggests normalising that to lowercase — deliberately not done here, as it's a data change needing a migration, not an asset fix.

Still open on #3: the 11 starter-class icons. Still open on #7: 110 roster_classes/ portraits, which is why that directory's coverage test is skipped with the reason stated.

Why authored rather than sourced

class_id 0 — what a character gets when a sync cannot map its class — has always seeded this imagename with no file behind it. avathar/bbguild#389 added a fallback chain that ends at <game>_unknown.png, so without this file its last step could never fire.

No wiki or API has a generic "unknown class" icon, which is exactly why avathar/bbguild#391 singles these out as the one part of the icon backlog where authored placeholders are the right answer rather than a stopgap. This follows the roadmap's sourcing policy (avathar/bbguild#393): authored placeholders where no provenance exists.

Design

A ? glyph, matching what the family already does here — bbguildwow's wow_unknown is a red ? on a plate, bbguildlotro's race unknown a grey ? on gold. Warm gold with a dark outline so it stays legible on both light prosilver and dark styles (pbwow3), drawn at 8x and downsampled.

Test

The new *_icon_coverage_test parses the installer's seeded imagename values and asserts both icon directories cover them, listing the remaining gaps explicitly — so a new gap fails CI instead of going unnoticed, and the known ones are documented in code rather than only in tickets.

🤖 Generated with Claude Code

class_id 0 — the class a character gets when a sync cannot map it — has
always seeded this imagename with no file behind it, so it rendered as a
broken image until avathar/bbguild#389 added a fallback chain. That
chain ends at <game>_unknown.png, so without this file its last step
could never fire.

Authored rather than sourced: no wiki or API has a generic "unknown
class" icon, which is why avathar/bbguild#391 calls these out as the one
part of the icon backlog that placeholders are the right answer for.
A '?' glyph matches what the family already does here (bbguildwow's
wow_unknown is a red '?' on a plate, bbguildlotro's race unknown a grey
'?' on gold). Warm gold with a dark outline, so it stays legible on both
light prosilver and dark styles; drawn at 8x and downsampled; 30x30 to
match the set.

lineage2_icon_coverage_test parses the installer's seeded
imagename values and asserts both icon directories cover them, with the
remaining gaps listed explicitly — so a new gap fails CI instead of
going unnoticed.

Refs #3

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@avandenberghe
avandenberghe merged commit c48e8a2 into main Sep 24, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant