Модуль:EventsTable: различия между версиями
Blyoba (обсуждение | вклад) Нет описания правки |
м Замена текста — «AnomalyAll.gif» на «Anomalies.png» Метки: с мобильного устройства из мобильной версии |
||
| (не показаны 23 промежуточные версии 1 участника) | |||
| Строка 5: | Строка 5: | ||
name = "Аномалия", | name = "Аномалия", | ||
id = "AnomalySpawn", | id = "AnomalySpawn", | ||
image = " | image = "Anomalies.png", | ||
advert = "111", | advert = "111", | ||
description = " | description = "В случайном месте на станции появляется аномалия.", | ||
weight = 5, | weight = 5, | ||
duration = 120, | duration = 120, | ||
earliestStart = 20, | earliestStart = 20, | ||
minimumPlayers = 40, | minimumPlayers = 40, | ||
}, | |||
{ | |||
name = "Артефакт", | |||
id = "BluespaceArtifact", | |||
image = "BluespaceArtifact.gif", | |||
advert = "112", | |||
description = "В случайном месте на станции с характерным звуком и голубым свечением появляется артефакт.", | |||
weight = 4, | |||
duration = 90, | |||
earliestStart = 30, | |||
minimumPlayers = 30, | |||
}, | |||
{ | |||
name = "Блюспейс шкаф", | |||
id = "BluespaceLocker", | |||
image = "BluespaceLocker.gif", | |||
advert = "113", | |||
description = "Два случайных шкафа образуют пространственно-связанный туннель, аналогичный кроличьей норе. Любой объект, помещенный в один из шкафов, мгновенно перемещается в другой, создавая эффект мгновенной телепортации.", | |||
weight = 3, | |||
duration = 60, | |||
earliestStart = 25, | |||
minimumPlayers = 25, | |||
}, | |||
{ | |||
name = "Выключение ЛКП", | |||
id = "BreakerFlip", | |||
image = "BreakerFlip.gif", | |||
advert = "114", | |||
description = "На станции выключается случайное количество ЛКП.", | |||
weight = 2, | |||
duration = 30, | |||
earliestStart = 15, | |||
minimumPlayers = 20, | |||
}, | |||
{ | |||
name = "Бюрократическая ошибка", | |||
id = "BureaucraticError", | |||
image = "BureaucraticError.gif", | |||
advert = "115", | |||
description = "В исходе бюрократической ошибки меняет свободное количество слотов для професий.<br>Имеет два варианта события:<br> * Стандартный '''(вероятность 75%)''': **Выбирается 20-30% случайных профессий. **Для каждой из них случайным образом уменьшается или увеличивается количество доступных мест '''(в диапазоне от -3 до +5)'''. **Обновление происходит с учетом ограничений '''(clamp: true)''', чтобы избежать выхода за пределы допустимых значений. <br> * Редкий '''(вероятность 25%)''': **Выбирается одна случайная профессия, которая становится '''неограниченной''' **Все остальные профессии '''(кроме уже неограниченных)''' закрываются '''(их слоты устанавливаются на 0)'''. <br>'''''Исключение:''''' ''Станционный ИИ''", | |||
weight = 3, | |||
duration = 45, | |||
earliestStart = 20, | |||
minimumPlayers = 20, | |||
}, | |||
{ | |||
name = "Канцелярская ошибка", | |||
id = "ClericalError", | |||
image = "ClericalError.gif", | |||
advert = "116", | |||
description = "Событие вызывает удаление определённого количества экипажа из манифеста случайной станции.", | |||
weight = 2, | |||
duration = 30, | |||
earliestStart = 15, | |||
minimumPlayers = 15, | |||
}, | |||
{ --заполнить инфо | |||
name = "Миграция тараканов", | |||
id = "CockroachMigration", | |||
image = "CockroachMigration.gif", | |||
advert = "117", | |||
description = "Тараканы массово мигрируют на станцию.", | |||
weight = 3, | |||
duration = 60, | |||
earliestStart = 25, | |||
minimumPlayers = 30, | |||
}, | |||
{ | |||
name = "Утечка газа", | |||
id = "GasLeak", | |||
image = "GasLeak.gif", | |||
advert = "118", | |||
description = "Создаёт на станции имитацию утечки газа. По окончанию события добавляется горячая точка с температурой 700K и энергией 50 Дж.", | |||
weight = 4, | |||
duration = 90, | |||
earliestStart = 30, | |||
minimumPlayers = 35, | |||
}, | |||
{ | |||
name = "Вирус грейтайд", | |||
id = "GreytideVirus", | |||
image = "GreytideVirus.gif", | |||
advert = "119", | |||
description = "Во время события сначала выбираются случайные доступы из перечня: Cargo, Command, Engineering, Research, Security, Service и степень серьёзности '''(Severity)''' которая определяется радиус и количество затрагиваемых предметов.<br>Потом может произойти следующие:<br>* Открываются и болтируются некоторые шлюзы.<br>* Разблокируются некоторые закрытые шкафчики", | |||
weight = 4, | |||
duration = 120, | |||
earliestStart = 40, | |||
minimumPlayers = 50, | |||
}, | |||
{ | |||
name = "Ионный шторм", | |||
id = "IonStorm", | |||
image = "IonStorm.gif", | |||
advert = "120", | |||
description = "Во время события у ИИ, боргов и других синтетиков добавляется или заменяет существующий или даже удаляет один из текущих законов. В некоторых случаях синтетик получает не один случайный закон, а полностью новый набор законов.<br>Составление законов происходит хаотично: они формируются из заранее заданных категорий слов создавая причудливые и непредсказуемые формулировки. Порядок законов тоже может измениться, так что важность того или иного правила окажется неожиданной.", | |||
weight = 3, | |||
duration = 100, | |||
earliestStart = 35, | |||
minimumPlayers = 30, | |||
}, | |||
{ | |||
name = "Рост кудзу", | |||
id = "KudzuGrowth", | |||
image = "KudzuGrowth.gif", | |||
advert = "121", | |||
description = "Кудзу начало разрастаться по станции.", | |||
weight = 4, | |||
duration = 150, | |||
earliestStart = 40, | |||
minimumPlayers = 40, | |||
}, | |||
{ | |||
name = "Массовые галлюцинации", | |||
id = "MassHallucinations", | |||
image = "MassHallucinations.gif", | |||
advert = "122", | |||
description = "Члены экипажа начинают видеть странные вещи.", | |||
weight = 3, | |||
duration = 90, | |||
earliestStart = 30, | |||
minimumPlayers = 35, | |||
}, | |||
{ | |||
name = "MimicVendorRule", | |||
id = "MimicVendorRule", | |||
image = "MimicVendorRule.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 5, | |||
duration = "", | |||
earliestStart = 0, | |||
minimumPlayers = 20, | |||
}, | |||
{ | |||
name = "Миграция мышей", | |||
id = "MouseMigration", | |||
image = "MouseMigration.gif", | |||
advert = "123", | |||
description = "Мыши заполонили станцию.", | |||
weight = 2, | |||
duration = 60, | |||
earliestStart = 20, | |||
minimumPlayers = 25, | |||
}, | |||
{ | |||
name = "Проверка энергосистемы", | |||
id = "PowerGridCheck", | |||
image = "PowerGridCheck.gif", | |||
advert = "124", | |||
description = "Выполняется диагностика энергосистемы станции.", | |||
weight = 2, | |||
duration = 45, | |||
earliestStart = 20, | |||
minimumPlayers = 20, | |||
}, | |||
{ | |||
name = "Случайное пробуждение разума", | |||
id = "RandomSentience", | |||
image = "RandomSentience.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 3, | |||
duration = 90, | |||
earliestStart = 30, | |||
minimumPlayers = 30, | |||
}, | |||
{ | |||
name = "Спавн слаймов", | |||
id = "SlimesSpawn", | |||
image = "SlimesSpawn.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 5, | |||
duration = 60, | |||
earliestStart = 20, | |||
minimumPlayers = 15, | |||
}, | |||
{ | |||
name = "SolarFlare", | |||
id = "SolarFlare", | |||
image = "SolarFlare.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 8, | |||
duration = "120-240", | |||
earliestStart = "", | |||
minimumPlayers = "", | |||
}, | |||
{ | |||
name = "SnakeSpawn", | |||
id = "SnakeSpawn", | |||
image = "SnakeSpawn.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 5, | |||
duration = 60, | |||
earliestStart = 20, | |||
minimumPlayers = 15, | |||
}, | |||
{ | |||
name = "SpiderClownSpawn", | |||
id = "SpiderClownSpawn", | |||
image = "SpiderClownSpawn.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 1.5, | |||
duration = 60, | |||
earliestStart = 20, | |||
minimumPlayers = 20, | |||
}, | |||
{ | |||
name = "SpiderSpawn", | |||
id = "SpiderSpawn", | |||
image = "SpiderSpawn.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 5, | |||
duration = 60, | |||
earliestStart = 20, | |||
minimumPlayers = 15, | |||
}, | |||
{ | |||
name = "VentClog", | |||
id = "VentClog", | |||
image = "VentClog.gif", | |||
advert = "125", | |||
description = "Неожиданное пробуждение разума у случайного объекта.", | |||
weight = 5, | |||
duration = 60, | |||
earliestStart = 15, | |||
minimumPlayers = 15, | |||
}, | }, | ||
} | } | ||
function p.generateTable(frame) -- Генерация табличек | function p.generateTable(frame) -- Генерация табличек | ||
local out = '{| id="highlighted-header-CM" class="wikitable sortable mw-collapsible" | local out = '{| id="highlighted-header-CM" class="wikitable sortable mw-collapsible" margin:0;"\n' | ||
out = out .. '! Событие !! Оповещение !! Описание !! Характеристики\n' | out = out .. '! Событие !! Оповещение !! Описание !! Характеристики\n' | ||
| Строка 31: | Строка 264: | ||
IIevent = IIevent .. '</div>' | IIevent = IIevent .. '</div>' | ||
-- Формируем список характеристик | -- Формируем список характеристик с вики-разметкой AltTooltip | ||
local characteristicsList = "" | local characteristicsList = "" | ||
local characteristics = { | local characteristics = { | ||
{" | {"Вес", "Вес события в системе случайных событий (чем выше, тем чаще случается)", event.weight}, | ||
{" | {"Мин. игроков", "Минимальное количество игроков для начала события", event.minimumPlayers}, | ||
{" | {"Время старта", "Время с которого событие может начаться", event.earliestStart .. " сек."}, | ||
{" | {"Длительность", "Длительность события в секундах", event.duration .. " сек."} | ||
} | } | ||
for _, char in ipairs(characteristics) do | for _, char in ipairs(characteristics) do | ||
characteristicsList = characteristicsList .. "- " .. char[1] .. ": " .. char[ | characteristicsList = characteristicsList .. "- " .. frame:expandTemplate{ title = "AltTooltip", args = { char[1], char[2] }} .. ": " .. char[3] .. "<br>" | ||
end | end | ||
| Строка 47: | Строка 280: | ||
out = out .. "|-\n" | out = out .. "|-\n" | ||
out = out .. "| " .. IIevent .. "\n" | out = out .. "| " .. IIevent .. "\n" | ||
out = out .. "| " .. (event.advert or "Нет | out = out .. "| " .. (event.advert or "Нет оповещения") .. "\n" | ||
out = out .. "| " .. (event.description or "Нет описания") .. "\n" | out = out .. "| " .. (event.description or "Нет описания") .. "\n" | ||
out = out .. "| " .. characteristicsList .. "\n" | out = out .. "| " .. characteristicsList .. "\n" | ||