Модуль:AlchemyRecipesGrid

Материал из Space Stories Wiki

Для документации этого модуля может быть создана страница Модуль:AlchemyRecipesGrid/doc

local p = {}

local recipesData = {
    {
        title = "Иодид калия",
        materials = {"Йод [1]", "Калий [1]"},
        result = "Иодид калия [2]",
        effects = "Medicine (0.5 единиц в секунду). Наносит 2 Toxin за единицу, когда больше чем 20ед. Вызывает защиту от радиации минимум на 2 секунды, эффект накапливается. Снижает разрушительное воздействие радиации на 90%. Используется только в профилактических целях. На вид зернистое."
    },
    {
        title = "Амбузол",
        materials = {"Диловен [1]", "Аммиак [1]", "Кровь зомби [2]"},
        result = "Амбузол [4]",
        effects = "Medicine (0.5 единиц в секунду). Лечит зомби-вирус, когда больше чем 10ед. Высокотехнологичный препарат, способный остановить развитие зомби-вируса. На вид хрустящее."
    },
    {
        title = "Сидерлак",
        materials = {"Стеллибинин [1]", "Алоэ [1]"},
        result = "Сидерлак [2]",
        effects = "Medicine (0.5 единиц в секунду). Лечит 10 Caustic за единицу. Мощное противокоррозийное средство, получаемое из растений. На вид молочное."
    },
    {
        title = "Когнизин",
        materials = {"Карпотоксин [1]", "Ацетон [1]", "Сидерлак [1]"},
        result = "Когнизин [1]",
        effects = "Medicine (0.5 единиц в секунду). Делает употребившего разумным, когда больше чем 5ед. Таинственное химическое вещество, способное сделать любое неразумное существо разумным. На вид загадочное."
    }
}

function p.renderRecipes()
    local html = mw.html.create('div')
        :addClass('alchemy-recipes-grid')

    for _, recipe in ipairs(recipesData) do
        local card = html:tag('div'):addClass('alchemy-recipe-card')

        card:tag('div'):addClass('alchemy-recipe-title'):wikitext(recipe.title)

        local recipeBlock = card:tag('div'):addClass('alchemy-recipe-block')

        local materialsDiv = recipeBlock:tag('div'):addClass('alchemy-recipe-materials')
        for _, material in ipairs(recipe.materials) do
            materialsDiv:tag('div'):wikitext(material)
        end

        recipeBlock:tag('div'):addClass('alchemy-recipe-mix'):wikitext('Смешайте')

        recipeBlock:tag('div'):addClass('alchemy-recipe-result'):wikitext(recipe.result)

        card:tag('div'):addClass('alchemy-recipe-effects-title'):wikitext('Эффекты')
        card:tag('div'):addClass('alchemy-recipe-effects'):wikitext(recipe.effects)
    end

    return tostring(html)
end

return p