Модуль:Prototypes/Роль/Экипировка

Материал из Space Station 14 Вики

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

local p = {}

function p.main(frame)
    local args = frame.args
    local slot = args[1]
    local role = args[2]

    if not slot or not role then
        return "Ошибка: не указан слот или роль."
    end

    local gearloadout = mw.loadData("Модуль:IanComradeBot/loadout.json/data")
    local gearloadoutGroup = mw.loadData("Модуль:IanComradeBot/loadoutGroup.json/data")

    local function capitalize(s)
        return (s:gsub("^%l", string.upper))
    end

    local groupID = role .. capitalize(slot)

    local groupFound = nil
    for _, group in ipairs(gearloadoutGroup) do
        if group.id == groupID then
            groupFound = group
            break
        end
    end

    if not groupFound then
        return "Группа не найдена: " .. groupID
    end

    for _, loadoutID in ipairs(groupFound.loadouts) do
        for _, loadout in ipairs(gearloadout) do
            if loadout.id == loadoutID then
                if loadout.equipment and loadout.equipment[slot] then
                    return loadout.equipment[slot]
                end
            end
        end
    end

    return "Экипировка не найдена для слота: " .. slot
end

return p