To add a suggestion to this thread...

Why not give each player (with a lantern) a random chance to obtain a special "currency" (the currency would be untradeable) from the chest instead of a weapon. The weapons could then be acqured from an NPC by trading in a certain amount of that currency. I think this would work vastlly better than the current loot system.