Unit Radar
Тот же радар, только смотрит не от здания, а от вашего юнита — и его дальностью
ubind @daggeruradar enemy any any distance 0 1 ближнийКинжал ищет врагов вокруг себя: ближний — вспышка на девятой клетке, а тот же поиск
с нулём в предпоследнем поле отдаёт дальнюю, на четырнадцатой.
Поля у uradar те же, что у radar: три условия
отбора, чем мерить, кого считать первым. Разница одна, и она в пятом поле.
Откуда смотрит радар
Заголовок раздела «Откуда смотрит радар»radar |
uradar |
|
|---|---|---|
| смотрит от | здания из пятого поля | привязанного юнита |
| дальность | дальность этого здания | дальность самого юнита |
| пятое поле | здание | не используется, пишут 0 |
Пятого поля у uradar фактически нет: источник всегда @unit, и ноль там стоит просто
для порядка. Нет привязки — нет и поиска: ответом будет пустота.
Дальность берётся у юнита и у всех разная: у кинжала это 18.25 клетки, у вспышки
заметно меньше, у большого юнита — заметно больше. Спросить её можно у него самого:
sensor дальность @unit @rangeСам себя юнит не находит
Заголовок раздела «Сам себя юнит не находит»Кинжал ищет своих — и находит поли, а не себя. Это встроенное правило: источник поиска из списка исключается.
Иначе поиск союзника был бы бесполезен: ближайший к юниту свой — всегда он сам, и uradar ally any any distance возвращал бы того же юнита, которого только что привязали.
Кеш и своё окно пересчёта
Заголовок раздела «Кеш и своё окно пересчёта»uradar пересчитывает цель раз в 40 тиков, и это не то же окно, что у обычного радара:
у здания оно тридцатитиковое, а у юнита своё, потому что живёт не в инструкции, а в том
самом управлении, которое ubind и ucontrol вешают на юнита. В промежутке uradar
отдаёт то, что нашёл в прошлый раз, — даже если цель улетела или погибла.
Оттуда же следует и вторая особенность: uradar берёт юнита под управление. Ему нужен
тот же контроллер, что и командам, и он его заводит — просто не отдаёт никаких приказов.
Две трети секунды — немного, но для юнита это ощутимо: он и сам движется, и цель движется.
Поэтому наведение стрельбой (ucontrol targetp) отдают каждую итерацию: пусть цель
и устаревшая, но команда свежая.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.