Maybe you should rewrite your weapon code to use c_trace.