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

Spawn Unit

Юнит появляется целым и сразу — без завода, ресурсов и очереди

тик 0
Обнаружить0
фигуратипкомандаxywh
Информация1
=
у
Прыжок -> 62
если
Создать юнита3
типxyвращениекомандарезультатэффект
Информация4
=
у
Конец5
Стоп6
@counter0number
сколькоnullnull
новыйnullnull
типНовогоnullnull
spawn @dagger 9 5 90 @sharded новый

Кинжал появляется на клетке 9 5 — готовый, с полным здоровьем, без всякого завода. В примере программа делает это, пока их не станет трое, и останавливается.

Поле Что в нём
первое тип юнита: @dagger, @poly, @flare
второе и третье координаты в клетках
четвёртое поворот в градусах: 90 — вверх, 0 — вправо
пятое команда: @sharded, @crux, @derelict
шестое куда положить созданного юнита

Шестое поле — самое полезное: юнит приходит объектом, и с ним сразу можно работать. Правда, не любой инструкцией:

spawn @dagger 9 5 90 @sharded новый
ubind новый
ucontrol move 20 5 0 0 0

Мировому процессору такая привязка удаётся и к чужому юниту — это его привилегия.

Поэтому появление всегда чем-то ограничивают:

  • посчитать, сколько уже есть. Как в примере: query по области, sensor @size, и появление только если мало;
  • сделать один раз. Переменная-признак или глобальный флаг: создали — записали, потом проверяем;
  • по времени. @time и сравнение со сроком: волна раз в полминуты.
query circle unit @sharded 9 5 5 0
sensor сколько @queries @size
jump 0 greaterThanEq сколько 3
spawn @dagger 9 5 90 @sharded новый

Четыре строки — и на карте всегда ровно три кинжала: погиб один, на его место придёт новый.

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