Модуль:Песочница/Pok: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 108: | Строка 108: | ||
local results = {} | local results = {} | ||
-- | -- Обработка startingGear (gearData) | ||
for | for _, gear in pairs(gearData) do | ||
local currentGearId = gear.id or "Unknown" | |||
if gear.equipment then | |||
for slot, equipId in pairs(gear.equipment) do | |||
if equipId == targetId and (not slotFilter or slot == slotFilter) then | |||
local foundJob = nil | |||
for jobId, job in pairs(jobData) do | |||
if job.startingGear == currentGearId then | |||
foundJob = jobId | |||
break | |||
end | |||
end | |||
if foundJob then | |||
table.insert(results, "Job: " .. foundJob .. " (слот: " .. slot .. ")") | |||
else | |||
table.insert(results, "Gear: " .. currentGearId .. " (слот: " .. slot .. ")") | |||
end | |||
end | |||
end | |||
end | |||
end | |||
-- Обработка loadout (loadoutData) | |||
for _, loadout in ipairs(loadoutData) do | |||
if loadout.equipment then | if loadout.equipment then | ||
for slot, equipId in pairs(loadout.equipment) do | for slot, equipId in pairs(loadout.equipment) do | ||
if equipId == targetId and (not slotFilter or slot == slotFilter) then | if equipId == targetId and (not slotFilter or slot == slotFilter) then | ||
table.insert(results, "Loadout: " .. | local foundGroupId = nil | ||
-- Поиск группы в loadoutGroupData, в которой присутствует loadout.id | |||
for _, group in ipairs(loadoutGroupData) do | |||
if group.loadouts then | |||
for _, lId in ipairs(group.loadouts) do | |||
if lId == loadout.id then | |||
foundGroupId = group.id | |||
break | |||
end | |||
end | |||
end | |||
if foundGroupId then break end | |||
end | |||
local foundJob = nil | |||
-- Поиск роли в gearRoleLoadout, где группы содержат найденный id группы | |||
if foundGroupId then | |||
for _, role in pairs(gearRoleLoadout) do | |||
if role.groups then | |||
for _, g in ipairs(role.groups) do | |||
if g == foundGroupId then | |||
foundJob = role.id -- предполагается, что поле id присутствует | |||
break | |||
end | |||
end | |||
end | |||
if foundJob then break end | |||
end | |||
end | |||
if foundJob then | |||
table.insert(results, "Job: " .. foundJob .. " (слот: " .. slot .. ")") | |||
else | |||
table.insert(results, "Loadout: " .. loadout.id .. " (слот: " .. slot .. ")") | |||
end | |||
end | end | ||
end | end | ||