Калькулятор космического корабельного боя для Hayat RP
Ввод механики субтел для регистрации попаданий ПУ, а также для реализации дронов и истребителей. Субтела управляются ИИ в зависимости от типа.
Используется для регистрации попаданий модулями ПУ, некоторых артиллерийских и курсовых орудий. Имеет ограниченный запас ускорения. Их ИИ нацелен на перехват цели. Регистрация попаданий происходит в случае, если векторы такого субтела и тела-цели пересекаются в одном и том же ходу. Запускается каждый активный ход ПУ, принимая вектор родителя с добавленным к нему вектором запуска, прописанным в характеристиках модуля ПУ. Вектор запуска может быть направлен как в сторону курса корабля-родителя, так и в сторону цели, в зависимости от конфигурации самого модуля.
Аппараты запускаются с ангара тела-родителя. При активации в окне модулей, вкладка ангар, аппарат. В отличии от субтел типа "снаряд", они могут ускоряться бесконечно. По умолчанию они преследуют тело-родитель. При переводе на "active" в меню ангара, их ИИ будет предпринимать попытку кружится вокруг захваченной родителем на момент энгейджа цели на дистацнии, равной своей эффективной дистанции и вносить своё влияние каждый ход, в случае, если тело находится на орбите цели. При состоянии "online", субтела выйдут на орбиту родителя. При состоянии offline, субтела попытаются перехватить родителя. В случае успеха, они вернутся в ангар. Во время пребывания в ангаре, барьер аппаратов продолжает восстанавливаться. При переводе в "overheat", аппарат задействуется на тело-родитель, внося своё влияние по нему. Аппараты, в отличии от полноценных тел, могут "умереть".
- Функция ИИ это нелегко. Разумным будет дать возможность придавать такой ИИ обыкновенным телам для крупных баталий.
- Модули предтеч, чьё влияние усиливается со временем. Энтропические дезинтеграторы, увеличивающие свой урон после каждого цикла непрерывной работы до предела и реактивные мембраны брони, медленно распределяющие свою сопротивлямость в те типы урона, которым подвержен родитель. Имеют максимальную сумму сопротивления в 60%, которая квадратически ослабевает в случае, если всё это сопротивление сосредоточено на одном типе урона. Может распределить не более 4% сопротивляемостей за один ход.
- Переделать статичные тела.
- Курсовые орудия требуют механики принудительного отключения модулей. Соответственно у состояния модуля должна быть truefalse функция "отключения модулей" поле тэгов модулей, которые попадают в белый список такого отключения.
- Нужна функция переноса холста. Поскольку в космическом бою по определению оба тела находятся в постоянном движении, а сам космос — место относительное, то относительно точки начала боя, тела могут со временем приобрести какую-то совершенно сумасшедшую скорость. Не помешает функция "сдвига поля боя", а в идеале привязки центра поля боя к одному конкретному телу.
Поскольку корабельный бой это всё ещё текстовая ролевая игра, важно сделать инструменты, которые позволят ГМу комфортно перемещаться между калькулятором и Discord-чатом. Для этого могут быть задействованы вебхуки или боты. Токен вебхука (или бота) должен быть вставлен в программу для работы интеграции. У ГМа появится две следующие возможности:
- Публикация лога хода (вебхук или бот пишет в чат лог этого хода с локализацией. В идеале с автоматическим скриншотом координатного поля.)
- (задача со звёздочкой) — Контроль (В чате публикуется сообщение о контроле. Игрок подтверждает контроль и может сам задать вектор и состояние модулей. После этого необходимо подтверждение от пользователя с ролью ГМа. В случае подтверждения, бот или напрямую делиться информацией с калькулятором, или выдаёт ГМу что-то вроде хэша состояния, которое может быть применено для тела для мгновенного задействования всех команд.