That would be an option. The ideal solution though, as far as I'm concerned, is to be able to define valid officer types for weapons. So if the game is generating an OFFIC_TYPE_GUARD for HOLLAND, the game will check the actual initItems.c definitions. It'll then look for all weapons it could possibly assign to such a character with the level of that particular character, then randomly assign one of the available weapons. Then there would be ZERO hardcoding and it would all hang on the actual initItems.c definitions. Would be pretty awesome. Probably not so easy either though.