Технически дела обстоят так... корабль представляет собой некую точку, с координатой в ее центре.
Скрипт наведения на цель проверяет на вход в зону поражения этой точки, как только это произошло, каждая турель проверяет зону видимости до точки наведения (раньше было ядро), если нет никаких преград, кроме структур самого корабля, то открывается огонь.
Единственно как можно это исправить, это не представлять постройку как точку, а представлять его как куб, где внутри него вписана постройка, как только одна из сторон куба входит в зону поражения, пушки имеющие возможность поражения цели, должны начинать стрелять. Причем не важно, что в зоне поражения, устройство это или просто кусок обшивки, если есть устройства - то приоритет конечно это устройство.