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

мНет описания правки
мНет описания правки
Строка 1: Строка 1:
-- Загрузка данных
-- Загрузка данных
local jobData          = mw.loadData("Модуль:IanComradeBot/job.json/data")
local jobData          = mw.loadData("Модуль:IanComradeBot/job.json/data").data
local gearData          = mw.loadData("Модуль:IanComradeBot/startingGear.json/data")
local gearData          = mw.loadData("Модуль:IanComradeBot/startingGear.json/data").data
local gearloadout      = mw.loadData("Модуль:IanComradeBot/loadout.json/data")
local gearloadout      = mw.loadData("Модуль:IanComradeBot/loadout.json/data").data
local gearloadoutGroup  = mw.loadData("Модуль:IanComradeBot/loadoutGroup.json/data")
local gearloadoutGroup  = mw.loadData("Модуль:IanComradeBot/loadoutGroup.json/data").data


local p = {}
local p = {}
Строка 9: Строка 9:
-- Функция для поиска объекта по id
-- Функция для поиска объекта по id
local function findById(tbl, id)
local function findById(tbl, id)
     for _, v in pairs(tbl) do
     for k, v in pairs(tbl) do
         if v.id == id then
         if k == id or (v.id and v.id == id) then
             return v
             return v
         end
         end
Строка 17: Строка 17:
end
end


-- Функция для преобразования первой буквы строки в заглавную
-- Функция для преобразования первого символа строки в заглавный
local function capitalizeFirst(str)
local function capitalizeFirst(str)
     return (str:gsub("^%l", string.upper))
     return str:sub(1,1):upper() .. str:sub(2)
end
end


Строка 57: Строка 57:
     -- 2. Если в gearData для данного слота ничего не найдено – ищем в gearloadoutGroup
     -- 2. Если в gearData для данного слота ничего не найдено – ищем в gearloadoutGroup
     if itemId == "" then
     if itemId == "" then
         local combinedId = capitalizeFirst(jobId) .. capitalizeFirst(slot)
         local combinedId = jobId .. capitalizeFirst(slot)
         local groupEntry = findById(gearloadoutGroup, combinedId)
         local groupEntry = findById(gearloadoutGroup, combinedId)
         if groupEntry and groupEntry.loadouts and #groupEntry.loadouts > 0 then
         if groupEntry and groupEntry.loadouts and #groupEntry.loadouts > 0 then