K2's suggestion was originally just to not show the unaligned column for roles other than infidel.
Since infidel is row and race/align are columns, I would just remove all columns for impossible race/align combinations.
At first I tried to do this by changing the way the combination table is built internally by sub _combo_table_init in lib/NetHack/Variant.pm. However, this doesn't fix the behaviour, which is determined by the template.
Instead, a better approach would be to track which race/align combinations are impossible and have the template exclude them.
K2's suggestion was originally just to not show the unaligned column for roles other than infidel. Since infidel is row and race/align are columns, I would just remove all columns for impossible race/align combinations. At first I tried to do this by changing the way the combination table is built internally by sub _combo_table_init in lib/NetHack/Variant.pm. However, this doesn't fix the behaviour, which is determined by the template. Instead, a better approach would be to track which race/align combinations are impossible and have the template exclude them.