Some refactoring in visibility system, added melee weapons