Модуль:Prototypes/Роль/Лодаут: различия между версиями

мНет описания правки
мНет описания правки
Строка 14: Строка 14:
     local roleId = "Job" .. roleParam
     local roleId = "Job" .. roleParam
     local modeTrinkets = (searchKey == "trinkets")
     local modeTrinkets = (searchKey == "trinkets")
    local modeBackStorage = (searchKey == "backStorage")
     local results = {}
     local results = {}
     local role = nil
     local role = nil
   
     for _, r in ipairs(gearRoleLoadout) do
     for _, r in ipairs(gearRoleLoadout) do
         if r.id == roleId then
         if r.id == roleId then
Строка 25: Строка 27:
         return 'Роль с id "' .. roleId .. '" не найдена'
         return 'Роль с id "' .. roleId .. '" не найдена'
     end
     end
     local printedTrinkets = {}
 
     for _, loadout in ipairs(gearloadout) do
        if modeBackStorage and loadout.storage and loadout.storage.back then
            for _, item in ipairs(loadout.storage.back) do
                table.insert(results, '<div class="роль-лодаут__item">' .. item .. '</div>')
            end
        end
    end
   
    if modeBackStorage then
        return frame:preprocess(table.concat(results))
    end
   
     for _, groupId in ipairs(role.groups or {}) do
     for _, groupId in ipairs(role.groups or {}) do
         if (modeTrinkets and groupId == "Trinkets") or ((not modeTrinkets) and groupId ~= "Trinkets") then
         if (modeTrinkets and groupId == "Trinkets") or ((not modeTrinkets) and groupId ~= "Trinkets") then
Строка 77: Строка 91:
                                 end
                                 end
                                 for _, trinket in ipairs(items) do
                                 for _, trinket in ipairs(items) do
                                     if not printedTrinkets[trinket] then
                                     table.insert(results, '<div class="Trinkets">' .. trinket .. '</div>')
                                        printedTrinkets[trinket] = true
                                        table.insert(results, '{{#invoke:Prototypes/Предмет/Содержание|frame|' .. trinket .. '}}')
                                    end
                                 end
                                 end
                             else
                             else
Строка 127: Строка 138:
         end
         end
     end
     end
   
     local output = {}
     local output = {}
     if modeTrinkets then
     for _, eq in ipairs(results) do
        for _, eq in ipairs(results) do
         table.insert(output, '<div class="роль-лодаут__item">' .. eq .. '</div>')
            table.insert(output, eq)
         end
    else
        for _, eq in ipairs(results) do
            table.insert(output, '<div class="роль-лодаут__item">' .. eq .. '</div>')
        end
     end
     end
   
     return frame:preprocess(table.concat(output))
     return frame:preprocess(table.concat(output))
end
end


return p
return p