Перейти к содержимому

Стрельба

Турель и сама неплохо стреляет. Логика нужна там, где важно, по кому именно

Турель без логики выбирает цель сама: ближайшую в радиусе. Логика вмешивается, когда этот выбор не устраивает — нужно добить одного, а не распылиться на всех, или бить по тому, кто опаснее.

тик 0
Контроль0
установить у
xy
выстрелы
Информация1
=
у
Информация2
=
у
Информация3
=
у
@counter0number
стреляетnullnull
патроновnullnull
поворотnullnull

Нажмите «пуск». Двойная турель развернётся на восток и начнёт стрелять по точке 13 4, где стоит кинжал: патронов пойдёт вниз, а здоровье кинжала — тоже.

Поле Что в нём
первое турель
второе и третье точка в клетках карты, не в мировых единицах
четвёртое стрелять или только целиться: ноль — молча наводиться

Координаты те же, что у @x и @y любого блока, поэтому целиться в здание — это просто взять его координаты и отдать их турели.

Турель слушается логики 120 тиков после последней команды, а потом возвращается к собственному прицелу и снова начинает выбирать цель сама.

тик 0
Радар0
target1target2target3сортировкаradarsortOrderвыход
Контроль1
установить у
юнитвыстрелы
Информация2
=
у
Информация3
=
у
@counter0number
цельnullnull
стреляетnullnull
патроновnullnull

Здесь цель ищет радар, а shootp наводит турель с упреждением: она стреляет не туда, где юнит сейчас, а туда, где он окажется, когда пуля долетит.

radar enemy any any distance duo1 1 цель
control shootp duo1 цель 1
Поле Что в нём
первое турель
второе юнит, а не координаты
третье стрелять или только целиться

Упреждение считает сама игра — по скорости цели и скорости пули. Поэтому летящую вспышку двойная турель ведёт с опережением, а стоящий кинжал — точно в него.

Свойство Что отдаёт
@shooting стреляет ли прямо сейчас
@ammo сколько единиц боезапаса осталось
@ammoCapacity сколько влезает
@currentAmmoType предмет, которым заряжена: @copper, @graphite
@progress готовность выстрела от 0 до 1
@rotation куда смотрит ствол
@shootX, @shootY куда целится

Патроны считаются не в предметах, а в единицах боезапаса: один кусок меди даёт две, графита — четыре. Поэтому @ammo у полной двойной турели равен 30, а меди в ней при этом пятнадцать штук.

Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.