Summary
portal/modules/roster.php:362 (bbguild core) builds the roster grid's class icon path directly from the DB's imagename column with no fallback: roster_classes/' . $class['imagename'] . '.png'. If the file isn't there, the browser just shows a broken image — there's no server-side existence check.
images/roster_classes/ only has 8 generic files, with the wrong prefix and no correspondence to any real imagename value:
lineage_archer.png
lineage_enchanter.png
lineage_healer.png
lineage_knight.png
lineage_rogue.png
lineage_summoner.png
lineage_warrior.png
lineage_wizard.png
But every class's actual imagename in game/lineage2_installer.php uses the lineage2_ prefix (matching images/class_images/, which is fully populated correctly), e.g. lineage2_hfighter, lineage2_hwarrior, lineage2_Unknown. None of the 8 files in roster_classes/ match any of the 110 real imagename values.
Impact
The roster grid view's class icon is broken for all 110 classes, with no exceptions. class_images/ (used elsewhere, e.g. player detail page) is correctly populated and unaffected.
Fix
Populate images/roster_classes/ with one icon per class, named to match each class's imagename value exactly (same convention as class_images/). The 8 existing generic files appear to be leftover from an earlier, simpler roster design and can likely be removed once real per-class icons are added.
Summary
portal/modules/roster.php:362(bbguild core) builds the roster grid's class icon path directly from the DB'simagenamecolumn with no fallback:roster_classes/' . $class['imagename'] . '.png'. If the file isn't there, the browser just shows a broken image — there's no server-side existence check.images/roster_classes/only has 8 generic files, with the wrong prefix and no correspondence to any realimagenamevalue:But every class's actual
imagenameingame/lineage2_installer.phpuses thelineage2_prefix (matchingimages/class_images/, which is fully populated correctly), e.g.lineage2_hfighter,lineage2_hwarrior,lineage2_Unknown. None of the 8 files inroster_classes/match any of the 110 realimagenamevalues.Impact
The roster grid view's class icon is broken for all 110 classes, with no exceptions.
class_images/(used elsewhere, e.g. player detail page) is correctly populated and unaffected.Fix
Populate
images/roster_classes/with one icon per class, named to match each class'simagenamevalue exactly (same convention asclass_images/). The 8 existing generic files appear to be leftover from an earlier, simpler roster design and can likely be removed once real per-class icons are added.