fixed weapon handler (sync)