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

Apply Status

Горит, мёрзнет, разогнан, обездвижен — всё это одна инструкция с двумя режимами

тик 0
Связь с юнитом0
тип
Прыжок -> 31
если
Наложить статус2
очиститьэффектюнитдлительность
Установить3
=
Информация4
=
у
Информация5
=
у
@counter0number
подожглиnullnull
здоровьеnullnull
пределnullnull
ubind @dagger
status false @status-burning @unit 10

Кинжал загорается и горит десять секунд. Смотрите за здоровьем: из 150 к концу останется около 50. Горение снимает 0.167 за тик — 10.02 в секунду, почти ровно сотню за десять.

Поле Что в нём
первое false — наложить, true — снять
второе эффект: @status-burning, @status-overdrive, …
третье юнит — тот, кого задело
четвёртое сколько секунд держать

Первое поле легко прочитать наоборот: это не «наложить ли», а «снять ли». В блоках игры оно так и подписано — «apply» или «clear».

Эффектов в игре двадцать с лишним, и делают они очень разное:

Эффект Что делает
@status-burning жжёт: 10.02 здоровья в секунду
@status-melting плавит: 18 в секунду, и ещё замедляет
@status-unmoving обездвиживает совсем
@status-fast ускоряет в полтора с лишним раза
@status-disarmed не даёт стрелять

Полный список с числами — в справочнике: «Эффекты состояния». Там видно и то, чего в игре списком нет вовсе: сколько именно снимает каждый, на что и насколько меняет скорость, живучесть, урон и перезарядку.

Это константы контента, как @copper или @dagger, — их пишут именем, а не строкой.

тик 0
Связь с юнитом0
тип
Информация1
=
у
Контроль юнита2
типxy
Прыжок -> 73
если
Наложить статус4
очиститьэффектюнитдлительность
Информация5
=
у
Конец6
Информация7
=
у
Конец8
@counter0number
ynullnull
xСкованногоnullnull
xСвободногоnullnull

Здесь два кинжала, и обоим велено идти вправо. Верхнему мировой процессор накладывает @status-unmoving — и он остаётся на третьей клетке, сколько ему ни командуй. Нижний спокойно уходит к восемнадцатой.

Снимают эффект первым полем:

status true @status-unmoving @unit 0

Длительность при снятии не нужна — эффект пропадает целиком.

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