fixing weapon functions