Модуль:EventsTable: различия между версиями
Материал из Space Station 14 Вики
Blyoba (обсуждение | вклад) Нет описания правки |
Blyoba (обсуждение | вклад) Нет описания правки |
||
Строка 12: | Строка 12: | ||
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 = "Ошибка в бюрократическом аппарате вызвала путаницу в документации.", | |||
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 = "Обнаружена утечка газа, возможны последствия.", | |||
weight = 4, | |||
duration = 90, | |||
earliestStart = 30, | |||
minimumPlayers = 35, | |||
}, | |||
{ | |||
name = "Вирус серой волны", | |||
id = "GreytideVirus", | |||
image = "GreytideVirus.gif", | |||
advert = "119", | |||
description = "По станции распространяется таинственный вирус серой волны.", | |||
weight = 4, | |||
duration = 120, | |||
earliestStart = 40, | |||
minimumPlayers = 50, | |||
}, | |||
{ | |||
name = "Ионный шторм", | |||
id = "IonStorm", | |||
image = "IonStorm.gif", | |||
advert = "120", | |||
description = "Произошел ионный шторм, возможны сбои в электронике.", | |||
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 = "Миграция мышей", | |||
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, | |||
}, | }, | ||
} | } | ||
function p.generateTable(frame) -- Генерация табличек | function p.generateTable(frame) -- Генерация табличек |
Версия от 15:44, 20 марта 2025
Для документации этого модуля может быть создана страница Модуль:EventsTable/doc
local p = {}
local data = { -- Дата
{
name = "Аномалия",
id = "AnomalySpawn",
image = "AnomalyAll.gif",
advert = "111",
description = "Произошел выброс энергии, вызывающий пространственные искажения.",
weight = 5,
duration = 120,
earliestStart = 20,
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 = "Ошибка в бюрократическом аппарате вызвала путаницу в документации.",
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 = "Обнаружена утечка газа, возможны последствия.",
weight = 4,
duration = 90,
earliestStart = 30,
minimumPlayers = 35,
},
{
name = "Вирус серой волны",
id = "GreytideVirus",
image = "GreytideVirus.gif",
advert = "119",
description = "По станции распространяется таинственный вирус серой волны.",
weight = 4,
duration = 120,
earliestStart = 40,
minimumPlayers = 50,
},
{
name = "Ионный шторм",
id = "IonStorm",
image = "IonStorm.gif",
advert = "120",
description = "Произошел ионный шторм, возможны сбои в электронике.",
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 = "Миграция мышей",
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,
},
}
function p.generateTable(frame) -- Генерация табличек
local out = '{| id="highlighted-header-CM" class="wikitable sortable mw-collapsible" margin:0;"\n'
out = out .. '! Событие !! Оповещение !! Описание !! Характеристики\n'
for _, event in ipairs(data) do
-- Формируем ячейку с названием, ID и изображением
local IIevent = '<div style="text-align:center;">'
IIevent = IIevent .. "'''" .. (event.name or "Неизвестно") .. "'''<br>"
IIevent = IIevent .. "<span style='color:#adadad'>'''" .. (event.id or "Нет ID") .. "'''</span><br>"
if event.image and event.image ~= "Нет изображения" then
IIevent = IIevent .. '[[File:' .. event.image .. '|50px]]'
end
IIevent = IIevent .. '</div>'
-- Формируем список характеристик с вики-разметкой AltTooltip
local characteristicsList = ""
local characteristics = {
{"Вес", "Вес события в системе случайных событий (чем выше, тем чаще случается)", event.weight},
{"Мин. игроков", "Минимальное количество игроков для начала события", event.minimumPlayers},
{"Время старта", "Время с которого событие может начаться", event.earliestStart .. " сек."},
{"Длительность", "Длительность события в секундах", event.duration .. " сек."}
}
for _, char in ipairs(characteristics) do
characteristicsList = characteristicsList .. "- " .. frame:expandTemplate{ title = "AltTooltip", args = { char[1], char[2] }} .. ": " .. char[3] .. "<br>"
end
-- Добавляем строки в таблицу
out = out .. "|-\n"
out = out .. "| " .. IIevent .. "\n"
out = out .. "| " .. (event.advert or "Нет оповещения") .. "\n"
out = out .. "| " .. (event.description or "Нет описания") .. "\n"
out = out .. "| " .. characteristicsList .. "\n"
end
out = out .. "|}" -- Добавляем закрытие таблицы
return out
end
return p -- ЭТО ДОЛЖНО БЫТЬ В КОНЦЕ