Это уже дамагер какой то, а не сайлент.
В данном сайлент аиме блокируется оригинальный выстрел, и отправляется новый (функция ShotCreate()), а не перезаписывается старый, поэтому по трейсерам палится.
Не рекомендую рисовать трейсера через fireSingleBullet, и тем более лучше делать это правильно (от origin до target).
Координаты тут рандомятся, но они значение не имеют.
Рекомендую автору вместо блокирования оригинального выстрела, перезаписывать его, чтобы не возникало проблем с трейсерами.
Так же изменить fireSingleBullet на перезапись трейсеров.
Так же сделать более правильный рандом координат, установить правильные значения для рисования крови, и добавить смещение (target).
Если что, могу помочь, отпиши в
vk