Модуль:ItemData: различия между версиями

Нет описания правки
Нет описания правки
 
(не показаны 54 промежуточные версии этого же участника)
Строка 154: Строка 154:
    :tag('div')
    :tag('div')
    :addClass('loot-item')
    :addClass('loot-item')
    :wikitext(mw.ustring.format('%s', libHero.getHeroIcon(v[k2][1], "60px")))
    :wikitext(mw.ustring.format('%s', libHero.getHeroIcon(v[k2][1], "60px", true)))
    :done()
    :done()
                 elseif v[k2][1] == "Лучники" or
                 elseif v[k2][1] == "Лучники" or
Строка 166: Строка 166:
    :tag('div')
    :tag('div')
    :addClass('loot-item')
    :addClass('loot-item')
    :wikitext(mw.ustring.format('%s', libUnit.getUnitIcon(v[k2][1], "60px", v[k2][2])))
    :wikitext(mw.ustring.format('%s', libUnit.getUnitIcon(v[k2][1], "60px", v[k2][2], true)))
    :done()
    :done()
else
else
Строка 172: Строка 172:
    :tag('div')
    :tag('div')
    :addClass('loot-item')
    :addClass('loot-item')
    :wikitext(mw.ustring.format('%s', p.getItemIcon(v[k2][1], "60px", v[k2][2])))
    :wikitext(mw.ustring.format('%s', p.getItemIcon(v[k2][1], "60px", v[k2][2], true)))
    :done()
    :done()
end
end
Строка 185: Строка 185:
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local libGift    = require('Module:GiftData')
local get        = require ('Module:ItemData/getter')
local get        = require ('Module:ItemData/getter')
local recipe_data = require ('Module:RecipeData/data')
local recipe_data = require ('Module:RecipeData/data')
local loot_data  = require ('Module:ItemData/loot')
local loot_data  = require ('Module:ItemData/loot')
local gifts_data  = require ('Module:GiftData/gifts')
local boss_data  = require ('Module:BossData/data')
local boss_data  = require ('Module:BossData/data')
local item_data  = require ('Module:ItemData/data')
local item_data  = require ('Module:ItemData/data')
local gift_data  = require ('Module:GiftData/data')
local gm_data    = require ('Module:GameModes/data')
local gm_data    = require ('Module:GameModes/data')
local item        = args['item'] or args[1]
local item        = args['item'] or args[1]
Строка 203: Строка 206:
local checkpoint5 = nil
local checkpoint5 = nil
local checkpoint6 = nil
local checkpoint6 = nil
local checkpoint7 = nil
local result    = get["source"](item)
local result    = get["source"](item)
local data      = recipe_data[item]
local data      = recipe_data[item]
if (result ~= "Добыча") then
if (result ~= "Неизвестно") then
str = str .. mw.ustring.format('<h2>Способ получения</h2>')
str = str .. mw.ustring.format('<h2>Способ получения</h2>')
end
end
if (result == "Крафт") then
if (result == "Добыча") then
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
if data ~= nil then
Строка 347: Строка 355:
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 358: Строка 378:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Сундук") then
elseif (result == "Подарок") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
if data ~= nil then
for k, v in ipairs(gifts_data) do
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k1, v1 in ipairs(v) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
if (v[k1][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
for k3, v3 in pairs(gift_data[k2]["gifts"]) do
if (v3[1] == k) then
if (v3[1] == k) then
l = l + 1
i = i + 1
if checkpoint ~= k2 then
if checkpoint ~= k2 then
checkpoint = k2
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
end
end
end
end
Строка 388: Строка 397:
end
end
end
end
if l == 0 then
if i == 0 then
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Босс") then
elseif (result == "Добыча/Крафт") then
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
if data ~= nil then
Строка 404: Строка 416:
end
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
elseif (result == "Крафт/Сундук") then
for k, v in pairs(boss_data) do
for k2, v2 in pairs(boss_data[k]["loot"]) do
if (v2[1] == item) then
l = l + 1
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
end
end
end
if l == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Награда") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
if data ~= nil then
Строка 429: Строка 428:
end
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k, v in ipairs(loot_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
for k1, v1 in ipairs(v) do
if gm_data[k]["type"] == 1 then
if (v[k1][1] == item) then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (v3[1] == k) then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
l = l + 1
if checkpoint ~= k2 then
if checkpoint ~= gm_data[k]["type"] then
checkpoint = k2
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 2 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
if k2 == "clan" then
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if l == 0 then
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
str = str .. "Нет данных"
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
end
l = l + 1
str = str .. mw.ustring.format('</div>')
if checkpoint2 ~= gm_data[k]["type"] then
elseif (result == "Крафт/Босс") then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
if data ~= nil then
end
for k, v in ipairs(data) do
end
i = i + 1
end
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
else
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if i == 0 then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
str = str .. "Нет данных"
l = l + 1
end
if checkpoint2 ~= gm_data[k]["type"] then
str = str .. mw.ustring.format('</div></div>')
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
for k, v in pairs(boss_data) do
end
for k2, v2 in pairs(boss_data[k]["loot"]) do
end
if (v2[1] == item) then
end
l = l + 1
end
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
end
end
elseif gm_data[k]["type"] == 3 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if l == 0 then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
str = str .. "Нет данных"
l = l + 1
end
if checkpoint3 ~= gm_data[k]["type"] then
str = str .. mw.ustring.format('</div>')
checkpoint3 = gm_data[k]["type"]
elseif (result == "Крафт/Награда") then
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint ~= gm_data[k]["type"] then
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 4 then
elseif gm_data[k]["type"] == 2 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if k2 == "clan" then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
l = l + 1
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if checkpoint4 ~= gm_data[k]["type"] then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
checkpoint4 = gm_data[k]["type"]
l = l + 1
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
else
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 5 then
elseif gm_data[k]["type"] == 3 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
if checkpoint5 ~= gm_data[k]["type"] then
if checkpoint3 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
checkpoint3 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
end
end
end
end
elseif gm_data[k]["type"] == 4 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint4 ~= gm_data[k]["type"] then
checkpoint4 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
end
end
end
end
elseif gm_data[k]["type"] == 5 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint5 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
end
end
end
end
Строка 516: Строка 574:
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 615: Строка 685:
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 736: Строка 818:
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 760: Строка 854:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Сундук/Босс") then
elseif (result == "Добыча/Сундук") then
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k, v in ipairs(loot_data) do
Строка 782: Строка 879:
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Добыча/Босс") then
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
Строка 796: Строка 897:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Награда/Сундук") then
elseif (result == "Добыча/Подарок") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
if data ~= nil then
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
for k, v in ipairs(data) do
str = str .. mw.ustring.format('</div>')
i = i + 1
str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
for k, v in ipairs(gifts_data) do
end
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
for k3, v3 in pairs(gift_data[k2]["gifts"]) do
if (v3[1] == k) then
i = i + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
end
end
end
end
end
end
end
end
if i == 0 then
if i == 0 then
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
elseif (result == "Сундук/Босс") then
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k2, v2 in pairs(gm_data[k]["rewards"]) do
for k, v in ipairs(loot_data) do
if gm_data[k]["type"] == 1 then
for k1, v1 in ipairs(v) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
if (v[k1][1] == item) then
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k2, v2 in pairs(item_data) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
if (v3[1] == k) then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
i = i + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
end
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
end
end
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
end
l = l + 1
end
if checkpoint ~= gm_data[k]["type"] then
if i == 0 then
checkpoint = gm_data[k]["type"]
str = str .. "Нет данных"
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
str = str .. mw.ustring.format('</div>')
end
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
end
for k, v in pairs(boss_data) do
end
for k2, v2 in pairs(boss_data[k]["loot"]) do
end
if (v2[1] == item) then
elseif gm_data[k]["type"] == 2 then
l = l + 1
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
if k2 == "clan" then
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
end
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
if l == 0 then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
str = str .. "Нет данных"
end
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
str = str .. mw.ustring.format('</div>')
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
elseif (result == "Добыча/Крафт/Сундук") then
end
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
str = str .. mw.ustring.format('</div>')
l = l + 1
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if checkpoint2 ~= gm_data[k]["type"] then
if data ~= nil then
checkpoint2 = gm_data[k]["type"]
for k, v in ipairs(data) do
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
i = i + 1
end
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
end
end
end
if i == 0 then
else
str = str .. "Нет данных"
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
str = str .. mw.ustring.format('</div></div>')
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
end
for k, v in ipairs(loot_data) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
for k1, v1 in ipairs(v) do
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
if (v[k1][1] == item) then
end
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (v3[1] == k) then
l = l + 1
i = i + 1
if checkpoint2 ~= gm_data[k]["type"] then
if checkpoint ~= k2 then
checkpoint2 = gm_data[k]["type"]
checkpoint = k2
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
if i == 0 then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
str = str .. "Нет данных"
end
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
str = str .. mw.ustring.format('</div>')
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
elseif (result == "Добыча/Крафт/Подарок") then
end
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
str = str .. mw.ustring.format('</div>')
l = l + 1
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if checkpoint3 ~= gm_data[k]["type"] then
if data ~= nil then
checkpoint3 = gm_data[k]["type"]
for k, v in ipairs(data) do
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(gifts_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
for k3, v3 in pairs(gift_data[k2]["gifts"]) do
if (v3[1] == k) then
i = i + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 4 then
end
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Награда/Сундук") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
end
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
l = l + 1
if checkpoint4 ~= gm_data[k]["type"] then
checkpoint4 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
end
end
end
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
end
l = l + 1
elseif gm_data[k]["type"] == 5 then
if checkpoint ~= gm_data[k]["type"] then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
checkpoint = gm_data[k]["type"]
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
end
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint5 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 6 then
elseif gm_data[k]["type"] == 2 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if k2 == "clan" then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
else
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
if checkpoint6 ~= gm_data[k]["type"] then
if checkpoint3 ~= gm_data[k]["type"] then
checkpoint6 = gm_data[k]["type"]
checkpoint3 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 4 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if l == 0 then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
str = str .. "Нет данных"
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
end
str = str .. mw.ustring.format('</div>')
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
for k, v in ipairs(loot_data) do
end
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
l = l + 1
for k3, v3 in pairs(item_data[k2]["loot"]) do
if checkpoint4 ~= gm_data[k]["type"] then
if (v3[1] == k) then
checkpoint4 = gm_data[k]["type"]
m = m + 1
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 5 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if m == 0 then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
str = str .. "Нет данных"
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Награда/Босс") then
str = str .. mw.ustring.format('<div class="recipes" style="width:fit-content; width: -moz-fit-content">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint ~= gm_data[k]["type"] then
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
end
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
elseif gm_data[k]["type"] == 2 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
if k2 == "clan" then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
else
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
l = l + 1
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if checkpoint5 ~= gm_data[k]["type"] then
l = l + 1
checkpoint5 = gm_data[k]["type"]
if checkpoint2 ~= gm_data[k]["type"] then
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
elseif gm_data[k]["type"] == 6 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
if checkpoint3 ~= gm_data[k]["type"] then
if checkpoint6 ~= gm_data[k]["type"] then
checkpoint3 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 4 then
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
l = l + 1
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
if checkpoint4 ~= gm_data[k]["type"] then
end
checkpoint4 = gm_data[k]["type"]
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
end
end
end
end
elseif gm_data[k]["type"] == 5 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
if checkpoint5 ~= gm_data[k]["type"] then
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
elseif gm_data[k]["type"] == 6 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint6 ~= gm_data[k]["type"] then
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
Строка 1087: Строка 1211:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in pairs(boss_data) do
for k, v in ipairs(loot_data) do
for k2, v2 in pairs(boss_data[k]["loot"]) do
for k1, v1 in ipairs(v) do
if (v2[1] == item) then
if (v[k1][1] == item) then
m = m + 1
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
m = m + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
end
Строка 1100: Строка 1233:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Награда/Сундук/Босс") then
elseif (result == "Крафт/Награда/Босс") then
str = str .. mw.ustring.format('<div class="recipes" style="width:fit-content; width: -moz-fit-content">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
Строка 1109: Строка 1253:
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
i = i + 1
l = l + 1
if checkpoint ~= gm_data[k]["type"] then
if checkpoint ~= gm_data[k]["type"] then
checkpoint = gm_data[k]["type"]
checkpoint = gm_data[k]["type"]
Строка 1124: Строка 1268:
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
i = i + 1
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
checkpoint2 = gm_data[k]["type"]
Строка 1135: Строка 1279:
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
checkpoint2 = gm_data[k]["type"]
Строка 1148: Строка 1292:
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
l = l + 1
if checkpoint3 ~= gm_data[k]["type"] then
if checkpoint3 ~= gm_data[k]["type"] then
checkpoint3 = gm_data[k]["type"]
checkpoint3 = gm_data[k]["type"]
Строка 1160: Строка 1304:
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
l = l + 1
if checkpoint4 ~= gm_data[k]["type"] then
if checkpoint4 ~= gm_data[k]["type"] then
checkpoint4 = gm_data[k]["type"]
checkpoint4 = gm_data[k]["type"]
Строка 1172: Строка 1316:
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
l = l + 1
if checkpoint5 ~= gm_data[k]["type"] then
if checkpoint5 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
checkpoint5 = gm_data[k]["type"]
Строка 1184: Строка 1328:
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
i = i + 1
l = l + 1
if checkpoint6 ~= gm_data[k]["type"] then
if checkpoint6 ~= gm_data[k]["type"] then
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
Строка 1192: Строка 1336:
end
end
end
end
end
elseif gm_data[k]["type"] == 7 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if i == 0 then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
l = l + 1
l = l + 1
if checkpoint ~= k2 then
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint = k2
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 1234: Строка 1368:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Крафт/Сундук/Босс") then
elseif (result == "Награда/Сундук/Босс") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
if data ~= nil then
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k, v in ipairs(data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
i = i + 1
if gm_data[k]["type"] == 1 then
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
end
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if i == 0 then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
str = str .. "Нет данных"
i = i + 1
end
if checkpoint ~= gm_data[k]["type"] then
str = str .. mw.ustring.format('</div></div>')
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
for k, v in ipairs(loot_data) do
end
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
l = l + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 2 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
if k2 == "clan" then
if l == 0 then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
str = str .. "Нет данных"
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
str = str .. mw.ustring.format('</div>')
i = i + 1
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
if checkpoint2 ~= gm_data[k]["type"] then
for k, v in pairs(boss_data) do
checkpoint2 = gm_data[k]["type"]
for k2, v2 in pairs(boss_data[k]["loot"]) do
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
if (v2[1] == item) then
end
m = m + 1
end
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
end
end
end
end
else
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
str = str .. mw.ustring.format('</div>')
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if m == 0 then
i = i + 1
str = str .. "Нет данных"
if checkpoint2 ~= gm_data[k]["type"] then
end
checkpoint2 = gm_data[k]["type"]
elseif (result == "Крафт/Награда/Босс/Сундук") then
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
end
if data ~= nil then
end
for k, v in ipairs(data) do
end
i = i + 1
end
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
elseif gm_data[k]["type"] == 3 then
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
i = i + 1
l = l + 1
if checkpoint3 ~= gm_data[k]["type"] then
if checkpoint ~= gm_data[k]["type"] then
checkpoint3 = gm_data[k]["type"]
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 2 then
elseif gm_data[k]["type"] == 4 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
if k2 == "clan" then
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
i = i + 1
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
if checkpoint4 ~= gm_data[k]["type"] then
l = l + 1
checkpoint4 = gm_data[k]["type"]
if checkpoint2 ~= gm_data[k]["type"] then
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
else
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
elseif gm_data[k]["type"] == 5 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
i = i + 1
if checkpoint3 ~= gm_data[k]["type"] then
if checkpoint5 ~= gm_data[k]["type"] then
checkpoint3 = gm_data[k]["type"]
checkpoint5 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 4 then
elseif gm_data[k]["type"] == 6 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
i = i + 1
if checkpoint4 ~= gm_data[k]["type"] then
if checkpoint6 ~= gm_data[k]["type"] then
checkpoint4 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 5 then
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
i = i + 1
if checkpoint5 ~= gm_data[k]["type"] then
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
elseif gm_data[k]["type"] == 6 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint6 ~= gm_data[k]["type"] then
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
Строка 1387: Строка 1475:
end
end
end
end
if l == 0 then
if i == 0 then
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
l = l + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
if l == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
for k, v in pairs(boss_data) do
for k, v in pairs(boss_data) do
for k2, v2 in pairs(boss_data[k]["loot"]) do
for k2, v2 in pairs(boss_data[k]["loot"]) do
Строка 1403: Строка 1513:
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Добыча/Сундук/Подарок") then
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
Строка 1408: Строка 1522:
for k1, v1 in ipairs(v) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
if (v[k1][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
if (v3[1] == k) then
n = n + 1
i = i + 1
if checkpoint ~= k2 then
if checkpoint ~= k2 then
checkpoint = k2
checkpoint = k2
Строка 1422: Строка 1536:
end
end
end
end
if n == 0 then
if i == 0 then
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Магазин") then
str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(gifts_data) do
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
for k1, v1 in ipairs(v) do
str = str .. mw.ustring.format('</div>')
if (v[k1][1] == item) then
elseif (result == "Магазин/Крафт") then
for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
for k3, v3 in pairs(gift_data[k2]["gifts"]) do
if data ~= nil then
if (v3[1] == k) then
for k, v in ipairs(data) do
i = i + 1
i = i + 1
if checkpoint ~= k2 then
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
checkpoint = k2
str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
end
end
end
end
end
end
end
end
end
Строка 1441: Строка 1561:
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Магазин/Крафт/Награда") then
elseif (result == "Крафт/Сундук/Босс") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
if data ~= nil then
Строка 1457: Строка 1574:
end
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k, v in ipairs(loot_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
for k1, v1 in ipairs(v) do
if gm_data[k]["type"] == 1 then
if (v[k1][1] == item) then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (v3[1] == k) then
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
l = l + 1
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
if checkpoint ~= k2 then
end
checkpoint = k2
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
l = l + 1
if checkpoint ~= gm_data[k]["type"] then
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 2 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
if k2 == "clan" then
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if l == 0 then
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
str = str .. "Нет данных"
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
end
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
str = str .. mw.ustring.format('</div>')
end
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
for k, v in pairs(boss_data) do
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
for k2, v2 in pairs(boss_data[k]["loot"]) do
end
if (v2[1] == item) then
m = m + 1
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
l = l + 1
end
if checkpoint2 ~= gm_data[k]["type"] then
end
checkpoint2 = gm_data[k]["type"]
end
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
str = str .. mw.ustring.format('</div>')
end
if m == 0 then
end
str = str .. "Нет данных"
end
end
end
elseif (result == "Крафт/Награда/Босс/Сундук") then
else
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if data ~= nil then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
for k, v in ipairs(data) do
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
i = i + 1
end
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
end
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
end
if i == 0 then
str = str .. "Нет данных"
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
if checkpoint ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
Строка 1521: Строка 1638:
end
end
end
end
elseif gm_data[k]["type"] == 3 then
elseif gm_data[k]["type"] == 2 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if k2 == "clan" then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
else
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
Строка 1543: Строка 1679:
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
if checkpoint4 ~= gm_data[k]["type"] then
if checkpoint4 ~= gm_data[k]["type"] then
Строка 1562: Строка 1691:
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
Строка 1581: Строка 1703:
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
Строка 1593: Строка 1708:
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 1604: Строка 1731:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
for k, v in pairs(boss_data) do
str = str .. mw.ustring.format('</div>')
for k2, v2 in pairs(boss_data[k]["loot"]) do
elseif (result == "Магазин/Крафт/Награда/Сундук") then
if (v2[1] == item) then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
m = m + 1
if data ~= nil then
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
for k, v in ipairs(data) do
end
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
end
end
if i == 0 then
if m == 0 then
str = str .. "Нет данных"
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k, v in ipairs(loot_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
for k1, v1 in ipairs(v) do
if gm_data[k]["type"] == 1 then
if (v[k1][1] == item) then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if (v3[1] == k) then
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
n = n + 1
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
if checkpoint ~= k2 then
end
checkpoint = k2
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
l = l + 1
if checkpoint ~= gm_data[k]["type"] then
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
end
end
end
end
elseif gm_data[k]["type"] == 2 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
if k2 == "clan" then
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if n == 0 then
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
str = str .. "Нет данных"
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
end
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
str = str .. mw.ustring.format('</div>')
end
elseif (result == "Магазин") then
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Магазин/Крафт") then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
l = l + 1
if data ~= nil then
if checkpoint2 ~= gm_data[k]["type"] then
for k, v in ipairs(data) do
checkpoint2 = gm_data[k]["type"]
i = i + 1
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
end
end
end
if i == 0 then
end
str = str .. "Нет данных"
else
end
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
str = str .. mw.ustring.format('</div></div>')
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('</div>')
elseif (result == "Магазин/Крафт/Награда") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
end
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
l = l + 1
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
if checkpoint ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
Строка 1683: Строка 1821:
end
end
end
end
elseif gm_data[k]["type"] == 3 then
elseif gm_data[k]["type"] == 2 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if k2 == "clan" then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
else
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
l = l + 1
if checkpoint3 ~= gm_data[k]["type"] then
if checkpoint3 ~= gm_data[k]["type"] then
Строка 1759: Строка 1937:
end
end
end
end
end
elseif gm_data[k]["type"] == 7 then
end
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
end
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if l == 0 then
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
str = str .. "Нет данных"
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
end
str = str .. mw.ustring.format('</div>')
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
for k, v in ipairs(loot_data) do
end
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
l = l + 1
l = l + 1
if checkpoint ~= k2 then
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint = k2
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 1791: Строка 1966:
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
elseif (result == "Магазин/Крафт/Награда/Сундук/Босс") then
elseif (result == "Магазин/Крафт/Награда/Сундук") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
if data ~= nil then
Строка 1939: Строка 2114:
checkpoint6 = gm_data[k]["type"]
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
Строка 1950: Строка 2144:
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in pairs(boss_data) do
for k, v in ipairs(loot_data) do
for k2, v2 in pairs(boss_data[k]["loot"]) do
for k1, v1 in ipairs(v) do
if (v2[1] == item) then
if (v[k1][1] == item) then
m = m + 1
for k2, v2 in pairs(item_data) do
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
for k3, v3 in pairs(item_data[k2]["loot"]) do
end
if (v3[1] == k) then
l = l + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
if l == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('</div>')
elseif (result == "Добыча/Крафт/Сундук/Подарок") then
str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
i = i + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(gifts_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
for k3, v3 in pairs(gift_data[k2]["gifts"]) do
if (v3[1] == k) then
i = i + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
end
end
end
end
end
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
elseif (result == "Магазин/Крафт/Награда/Сундук/Босс") then
str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
if data ~= nil then
for k, v in ipairs(data) do
i = i + 1
str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
end
end
if i == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div></div>')
str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
for k2, v2 in pairs(gm_data[k]["rewards"]) do
if gm_data[k]["type"] == 1 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
l = l + 1
if checkpoint ~= gm_data[k]["type"] then
checkpoint = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
end
end
end
end
end
elseif gm_data[k]["type"] == 2 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
if k2 == "clan" then
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
else
for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint2 ~= gm_data[k]["type"] then
checkpoint2 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
end
end
end
end
end
elseif gm_data[k]["type"] == 3 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint3 ~= gm_data[k]["type"] then
checkpoint3 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
end
end
end
end
elseif gm_data[k]["type"] == 4 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint4 ~= gm_data[k]["type"] then
checkpoint4 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
end
end
end
end
elseif gm_data[k]["type"] == 5 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint5 ~= gm_data[k]["type"] then
checkpoint5 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
end
end
end
end
elseif gm_data[k]["type"] == 6 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint6 ~= gm_data[k]["type"] then
checkpoint6 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
end
end
end
end
elseif gm_data[k]["type"] == 7 then
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
end
if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
end
if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
l = l + 1
if checkpoint7 ~= gm_data[k]["type"] then
checkpoint7 = gm_data[k]["type"]
str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
end
end
end
end
end
end
end
if l == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
for k, v in pairs(boss_data) do
for k2, v2 in pairs(boss_data[k]["loot"]) do
if (v2[1] == item) then
m = m + 1
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
end
end
end
if m == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
l = l + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
if l == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('</div>')
end
 
return frame:preprocess(tostring(str))
end
 
function p.getItemSummon(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local get      = require ('Module:ItemData/getter')
local boss_data = require ('Module:BossData/data')
local item      = args['item'] or args[1]
local summon    = "summon"
local str      = ""
local result    = get[summon](item)
if (result == true) then
str = str .. mw.ustring.format('<h2>Используется для вызова</h2><div class="bosses" style="width:fit-content; width: -moz-fit-content">')
for k, v in pairs(boss_data) do
if (boss_data[k]["summon"] == item) then
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
end
end
end
if m == 0 then
str = str .. "Нет данных"
end
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
for k, v in ipairs(loot_data) do
for k1, v1 in ipairs(v) do
if (v[k1][1] == item) then
for k2, v2 in pairs(item_data) do
for k3, v3 in pairs(item_data[k2]["loot"]) do
if (v3[1] == k) then
l = l + 1
if checkpoint ~= k2 then
checkpoint = k2
str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
end
end
end
end
end
end
end
if l == 0 then
str = str .. "Нет данных"
end
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
str = str .. mw.ustring.format('</div>')
end
end
 
return frame:preprocess(tostring(str))
return frame:preprocess(tostring(str))
end
 
function p.checkSpecialItemUsedInCraft(item)
local chunks = {}
local str = ""
if item == "Кольцо охотника Ⅰ/1" or item == "Кольцо охотника Ⅰ/2" or item == "Кольцо охотника Ⅰ/3" then
return false
end
for substring in item:gmatch("%W+ ") do
  table.insert(chunks, substring)
end
str = tostring(chunks[1])
str = string.sub(str, 0, str:len()-1)
if str == "Кольцо охотника" then
return true
else
return false
end
end
end


function p.getItemSummon(frame)
function p.getItemUsedInCraft(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local get      = require ('Module:ItemData/getter')
local recipe_data = require ('Module:RecipeData/data')
local boss_data = require ('Module:BossData/data')
local unit_data  = require ('Module:UnitData/data')
local item     = args['item'] or args[1]
local item       = args['item'] or args[1]
local summon    = "summon"
local str        = ""
local str      = ""
local checkpoint  = nil
local result    = get[summon](item)
if p.checkItemUsedInCraft(item) or p.checkSpecialItemUsedInCraft(item) then
str = str .. mw.ustring.format('<h2>Используется в крафте</h2><div class="used-in-craft" style="width:fit-content; width: -moz-fit-content">')
if (result == true) then
str = str .. mw.ustring.format('<h2>Используется для вызова</h2><div class="bosses" style="width:fit-content; width: -moz-fit-content">')
for k, v in pairs(boss_data) do
if (boss_data[k]["summon"] == item) then
str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
end
end
str = str .. mw.ustring.format('</div>')
end
return frame:preprocess(tostring(str))
end
 
function p.getSpecialItemUsedInCraft(item)
local recipe_data = require ('Module:RecipeData/data')
local str = ""
chunks = {}
for substring in item:gmatch("%W+") do
  table.insert(chunks, substring)
end
table.remove(chunks)
for k, v in lib.pairsByAlphabeticalKeys(chunks) do
str = str .. v .. v
end
return tostring(str)
end
 
function p.getItemUsedInCraft(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local recipe_data = require ('Module:RecipeData/data')
local unit_data  = require ('Module:UnitData/data')
local item        = args['item'] or args[1]
local str        = ""
local checkpoint  = nil
if p.checkItemUsedInCraft(item) then
str = str .. mw.ustring.format('<h2>Используется в крафте</h2><div class="used-in-craft" style="width:fit-content; width: -moz-fit-content">')
if item == "Кольцо охотника Ⅰ/1" then
str = str .. mw.ustring.format(getSpecialItemUsedInCraft(item))
end
end
end
Строка 2071: Строка 2528:
end
end
if p.checkItemUsedInCraft(item) then
if p.checkSpecialItemUsedInCraft(item) then
str = str .. mw.ustring.format('%s', p.getItemIcon("Кольцо", "50px"))
end
if p.checkItemUsedInCraft(item) or p.checkSpecialItemUsedInCraft(item) then
str = str .. mw.ustring.format('</div>')
str = str .. mw.ustring.format('</div>')
end
end
Строка 2138: Строка 2599:
for k, v in lib.pairsByAlphabeticalKeys(key_data) do
for k, v in lib.pairsByAlphabeticalKeys(key_data) do
if (v == item) then
if (v == item) then
return k
return k
end
end
end
end
end
end
 
 
function p.getItemIcon(item, size, count, link)
function p.getItemIcon(item, size, count, tooltip, link)
local item_data    = require ('Module:ItemData/data')
local item_data    = require ('Module:ItemData/data')
local unit_data    = require ('Module:UnitData/data')
local unit_data    = require ('Module:UnitData/data')
local rarity_data  = require ('Module:ItemData/rarities')
local rarity_data  = require ('Module:ItemData/rarities')
local rarity, icon = ""
local rarity, icon = ""
local unit = false
local unit = false
if size == nil then
if size == nil then
size = "30px"
size = "30px"
end
end
if count == nil then
if count == nil then
count = ""
count = ""
end
if tooltip == nil then
tooltip = "";
else
tooltip = "true";
end
end
if link == nil then
if link == nil then
link = ""
link = item
end
end
if item == "Нет шлема" then
if item == "Нет шлема" then
return mw.ustring.format('{{ItemIcon|Нет шлема|no_helmet.png|обычный|size=40px|link=}}')
return mw.ustring.format('{{ItemIcon|Нет шлема|no_helmet.png|обычный|size=40px|link=false}}')
elseif item == "Нет доспеха" then
elseif item == "Нет доспеха" then
return mw.ustring.format('{{ItemIcon|Нет доспеха|no_armor.png|обычный|size=40px|link=}}')
return mw.ustring.format('{{ItemIcon|Нет доспеха|no_armor.png|обычный|size=40px|link=false}}')
elseif item == "Нет оружия" then
elseif item == "Нет оружия" then
return mw.ustring.format('{{ItemIcon|Нет оружия|no_weapon.png|обычный|size=40px|link=}}')
return mw.ustring.format('{{ItemIcon|Нет оружия|no_weapon.png|обычный|size=40px|link=false}}')
elseif item == "Нет обуви" then
elseif item == "Нет обуви" then
return mw.ustring.format('{{ItemIcon|Нет обуви|no_shoes.png|обычный|size=40px|link=}}')
return mw.ustring.format('{{ItemIcon|Нет обуви|no_shoes.png|обычный|size=40px|link=false}}')
elseif item == "Нет кольца" then
elseif item == "Нет кольца" then
return mw.ustring.format('{{ItemIcon|Нет кольца|no_ring.png|обычный|size=40px|link=}}')
return mw.ustring.format('{{ItemIcon|Нет кольца|no_ring.png|обычный|size=40px|link=false}}')
elseif item == "Нет ожерелья" then
elseif item == "Нет ожерелья" then
return mw.ustring.format('{{ItemIcon|Нет ожерелья|no_necklace.png|обычный|size=40px|link=}}')
return mw.ustring.format('{{ItemIcon|Нет ожерелья|no_necklace.png|обычный|size=40px|link=false}}')
end
end
Строка 2193: Строка 2660:
end
end
return mw.ustring.format('{{ItemIcon|%s|%s|%s|size=%s|count=%s|link=%s}}', item, icon, rarity, size, count, link)
return mw.ustring.format('{{ItemIcon|%s|%s|%s|size=%s|count=%s|link=%s|tooltip=%s}}', item, icon, rarity, size, count, link, tooltip)
else
else
if rarity_data[unit_data[item]["rarity"]] and rarity_data[unit_data[item]["rarity"]] ~= nil then
if rarity_data[unit_data[item]["rarity"]] and rarity_data[unit_data[item]["rarity"]] ~= nil then
Строка 2201: Строка 2668:
end
end
return mw.ustring.format('{{UnitIcon|%s|%s|%s|size=%s|count=%s|link=%s}}', item, icon, rarity, size, count, link)
return mw.ustring.format('{{UnitIcon|%s|%s|%s|size=%s|count=%s|link=%s|tooltip=%s}}', item, icon, rarity, size, count, link, tooltip)
end
end
end
end
Строка 2225: Строка 2692:
if args['link'] == nil then
if args['link'] == nil then
link = ""
link = args['item']
else
else
link = args['link']
link = args['link']
Строка 2330: Строка 2797:
if hero_data[item .. "/" .. i] ~= nil then
if hero_data[item .. "/" .. i] ~= nil then
    divNode4
    divNode4
:addClass('custom-grid-block')
:addClass('custom-grid__card')
        :cssText('text-align: center; display: flex; flex-flow: column wrap;')
            :tag('div')
            :tag('div')
            :cssText('margin: 0 auto;')
            :cssText('margin: 0 auto;')
Строка 2337: Строка 2803:
                :done()
                :done()
            :tag('div')
            :tag('div')
            :cssText('font-family: BeaufortforLoL; color: #649ec0; font-style: italic; margin-top: 5px;')
            :addClass('custom-grid__header')
                :wikitext(mw.ustring.format('%s', hero_data[item .. "/" .. i]['info']))
                :wikitext(mw.ustring.format('%s', hero_data[item .. "/" .. i]['info']))
                :done()
                :done()
Строка 2346: Строка 2812:
if item_data[item .. "/" .. i] ~= nil then
if item_data[item .. "/" .. i] ~= nil then
divNode4
divNode4
:addClass('custom-grid-block')
:addClass('custom-grid__card')
        :cssText('text-align: center; display: flex; flex-flow: column wrap;')
            :tag('div')
            :tag('div')
                :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(item .. "/" .. i, "75px")))
                :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(item .. "/" .. i, "75px")))
                :done()
                :done()
            :tag('div')
            :tag('div')
            :cssText('font-family: BeaufortforLoL; color: #649ec0; font-style: italic; margin-top: 5px;')
            :addClass('custom-grid__footer')
                :wikitext(mw.ustring.format('%s', item_data[item .. "/" .. i]['description']))
                :wikitext(mw.ustring.format('%s', item_data[item .. "/" .. i]['description']))
                :done()
                :done()
Строка 2377: Строка 2842:
if shop_data[item .. "/" .. i] ~= nil then
if shop_data[item .. "/" .. i] ~= nil then
    divNode4
    divNode4
:addClass('custom-grid-block')
:addClass('custom-grid__card')
        :cssText('text-align: center; display: flex; flex-flow: column wrap;')
            :tag('div')
            :tag('div')
            :cssText('margin: 0 auto;')
            :cssText('margin: 0 auto;')
Строка 2384: Строка 2848:
                :done()
                :done()
            :tag('div')
            :tag('div')
            :cssText('font-family: BeaufortforLoL; color: #649ec0; font-style: italic; margin-top: 5px;')
            :addClass('custom-grid__footer')
                :wikitext(mw.ustring.format('%s', shop_data[item .. "/" .. i]['description']))
                :wikitext(mw.ustring.format('%s', shop_data[item .. "/" .. i]['description']))
                :done()
                :done()
Строка 2451: Строка 2915:
divNode2
divNode2
:addClass('custom-grid-block')
:addClass('custom-grid__card')
    :cssText('text-align: center; display: flex; flex-flow: column wrap;')
     :tag('div')
     :tag('div')
     :cssText('font-family: Susan; font-size: 14px; text-transform: uppercase; text-align: center; color: #eae5b1; margin-bottom: 5px;')
     :addClass('custom-grid__header')
                 :wikitext(mw.ustring.format('%s', item_data[v1]['name']))
                 :wikitext(mw.ustring.format('%s', item_data[v1]['name']))
                 :done()
                 :done()
             :tag('div')
             :tag('div')
                 :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(v1, "75px")))
                 :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(v1, "75px", nil, true)))
                 :done()
                 :done()
             :tag('div')
             :tag('div')
             :cssText('font-family: BeaufortforLoL; color: #649ec0; font-style: italic; margin-top: 5px;')
             :addClass('custom-grid__footer')
                 :wikitext(mw.ustring.format('%s', item_data[v1]['description']))
                 :wikitext(mw.ustring.format('%s', item_data[v1]['description']))
                 :done()
                 :done()

Текущая версия от 12:50, 31 декабря 2023

Данная группа модулей хранит информацию обо всех предметах из Крушителей подземелий. Перечень модулей:

Информация из Модуль:ItemData/doc


local p = {}

local lib     = require('Module:Feature')

function p.get(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
	
	local get      = require ('Module:ItemData/getter')
    local item     = args['item'] or args[1]
    local datatype = args['datatype'] or args[2]
    local output   = args['output'] or args[3] or nil
    
    local result = get[datatype](item)
    
    if output ~= nil and type(result) == "table" then
        if output == "csv" then
            return lib.tbl_concat{result}
        elseif output == "custom" then 
            return frame:preprocess(lib.tbl_concat({result, prepend = args['prepend'], append = args['append'], separator = args['separator'], index = args["index"]}))
        elseif output == "template" then 
            return frame:preprocess(lib.tbl_concat{result, prepend = "{{" .. args['t_name'] .. "|", append = "}}", separator = args['separator']})
        end
    elseif result == nil then
        return ""
    else
        return result
    end
end

function p.getItemAbility(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local get     = require ('Module:ItemData/getter')
	local item    = args['item'] or args[1]
	local ability = "abilities"
	local str     = ""
	
	local result = get[ability](item)
	
	for k, v in ipairs(result) do
    	if tonumber(args['index']) == k then
    		str = mw.ustring.format('%s/%s/%s/%s', v[1], v[2], v[3], v[4])
    	end
    end
    
    return str
end

function p.getLoot(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local get       = require ('Module:ItemData/getter')
	local item      = args['item'] or args[1]
	local str       = ""
	
	local source = get["source"](item)

	str = mw.ustring.format('{{Chest|%s|source=%s|used_in_craft=%s}}', item, source, item)
    
    return frame:preprocess(tostring(str))
end

function p.getLootPack(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local get       = require ('Module:ItemData/getter')
	local item      = args['item'] or args[1]
	local loot_data = "loot_data"
	local count

	local result = get[loot_data](item)
	for k, v in ipairs(result) do
    	if tonumber(args['index']) == k then
			count = mw.ustring.format('%d', v[2])
		end
    end
    
    return tonumber(count)
end

function p.getLootType(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local get       = require ('Module:ItemData/getter')
	local loot_type = require('Module:ItemData/loot/types')
	local item      = args['item'] or args[1]
	local loot_data = "loot_data"
	local type      = ""

	local result = get[loot_data](item)
	for k, v in ipairs(result) do
    	if tonumber(args['index']) == k then
			type = mw.ustring.format('%s', loot_type[v[3]])
		end
    end
    
    return tostring(type)
end

function p.getLootItems(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local get     = require ('Module:ItemData/getter')
	local libHero = require('Module:HeroData')
    local libUnit = require('Module:UnitData')
	local item    = args['item'] or args[1]
	local loot    = "loot"
	local divNode = mw.html.create('div')
	
	divNode
		:cssText('display: flex; flex-flow: row wrap; justify-content: center;')
		:newline()

	local result = get[loot](item)
	for k, v in ipairs(result) do
    	if tonumber(args['index']) == k then
			for k2, v2 in ipairs(v) do
				if v[k2][1] == "Альберт" or
				   v[k2][1] == "Ангмарс" or
				   v[k2][1] == "МакКлиф" or
				   v[k2][1] == "Сэра, Королева Воров" or
				   v[k2][1] == "Повелительница мух" or
				   v[k2][1] == "Тикола Несла" or
                   v[k2][1] == "Анндралгон Черный" or
				   v[k2][1] == "Мехарион" or
                   v[k2][1] == "Владыка Драадор" or
				   v[k2][1] == "Кузнечик" or
                   v[k2][1] == "Ледяная Эльга" or
                   v[k2][1] == "Аврора, Ангел Надежды" or
                   v[k2][1] == "Разиэль, Ангел Отчаяния" or
                   v[k2][1] == "Элтор, Ангел Равновесия" or
                   v[k2][1] == "Зевс Громовержец" or
                   v[k2][1] == "Владыка Миктлана" or
                   v[k2][1] == "Инпу" or
                   v[k2][1] == "Арбитр" or
                   v[k2][1] == "Судья" or
                   v[k2][1] == "Пренакс Обманщик" or
                   v[k2][1] == "Коммандор Вед'ахен" or
                   v[k2][1] == "Альммахарет" or
                   v[k2][1] == "Кертхрорааз" or
                   v[k2][1] == "Космический солдат" or
                   v[k2][1] == "Звездный охотник" or
                   v[k2][1] == "Пожиратель душ" or
                   v[k2][1] == "Августин" or
                   v[k2][1] == "Аилред" or
                   v[k2][1] == "Офаниель" or
                   v[k2][1] == "Дидгур" or
                   v[k2][1] == "Воин ягуара" or
                   v[k2][1] == "Уильям Вейн" or
                   v[k2][1] == "Тразк" or
                   v[k2][1] == "Джамис"
				then
					divNode
		    			:tag('div')
		    				:addClass('loot-item')
				    		:wikitext(mw.ustring.format('%s', libHero.getHeroIcon(v[k2][1], "60px", true)))
				    		:done()
                elseif v[k2][1] == "Лучники" or
                    v[k2][1] == "Волшебники" or
                    v[k2][1] == "Воины" or
                    v[k2][1] == "Грифоны" or
                    v[k2][1] == "Черные рыцари" or
                    v[k2][1] == "Сторожевая башня пустоты/1"
                then
                    divNode
		    			:tag('div')
		    				:addClass('loot-item')
				    		:wikitext(mw.ustring.format('%s', libUnit.getUnitIcon(v[k2][1], "60px", v[k2][2], true)))
				    		:done()
				else
	    			divNode
		    			:tag('div')
		    				:addClass('loot-item')
				    		:wikitext(mw.ustring.format('%s', p.getItemIcon(v[k2][1], "60px", v[k2][2], true)))
				    		:done()
				end
		    end
		end
    end
    
    return frame:preprocess(tostring(divNode))
end

function p.getItemSource(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local libGift     = require('Module:GiftData')
	local get         = require ('Module:ItemData/getter')
	local recipe_data = require ('Module:RecipeData/data')
	local loot_data   = require ('Module:ItemData/loot')
	local gifts_data  = require ('Module:GiftData/gifts')
	local boss_data   = require ('Module:BossData/data')
	local item_data   = require ('Module:ItemData/data')
	local gift_data   = require ('Module:GiftData/data')
	local gm_data     = require ('Module:GameModes/data')
	local item        = args['item'] or args[1]
	local i           = 0
	local l           = 0
	local m           = 0
	local n           = 0
	local str         = ""
	local checkpoint  = ""
	local checkpoint2 = nil
	local checkpoint3 = nil
	local checkpoint4 = nil
	local checkpoint5 = nil
	local checkpoint6 = nil
	local checkpoint7 = nil
	
	local result     = get["source"](item)
	local data       = recipe_data[item]
	
	if (result ~= "Неизвестно") then
		str = str .. mw.ustring.format('<h2>Способ получения</h2>')
	end
	
	if (result == "Добыча") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Крафт") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
	elseif (result == "Сундук") then
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Босс") then
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					i = i + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Награда") then
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									i = i + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										i = i + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									i = i + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Подарок") then
		str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(gifts_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
						for k3, v3 in pairs(gift_data[k2]["gifts"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Крафт") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
	elseif (result == "Крафт/Сундук") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								l = l + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Крафт/Босс") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					l = l + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Крафт/Награда") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Награда/Сундук") then
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									i = i + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										i = i + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									i = i + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								l = l + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Награда/Босс") then
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									i = i + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										i = i + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									i = i + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					l = l + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Сундук") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Босс") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					l = l + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Подарок") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(gifts_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
						for k3, v3 in pairs(gift_data[k2]["gifts"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Сундук/Босс") then
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					l = l + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Крафт/Сундук") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Крафт/Подарок") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(gifts_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
						for k3, v3 in pairs(gift_data[k2]["gifts"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Крафт/Награда/Сундук") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
									end
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
									end
									
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								m = m + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if m == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Крафт/Награда/Босс") then
		str = str .. mw.ustring.format('<div class="recipes" style="width:fit-content; width: -moz-fit-content">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					m = m + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if m == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Награда/Сундук/Босс") then
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									i = i + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										i = i + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									i = i + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								i = i + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								l = l + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					m = m + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if m == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Сундук/Подарок") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(gifts_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
						for k3, v3 in pairs(gift_data[k2]["gifts"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Крафт/Сундук/Босс") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								l = l + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					m = m + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		str = str .. mw.ustring.format('</div>')
		if m == 0 then
			str = str .. "Нет данных"
		end
	elseif (result == "Крафт/Награда/Босс/Сундук") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					m = m + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if m == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								n = n + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if n == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Магазин") then
		str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Магазин/Крафт") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Магазин/Крафт/Награда") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
									end
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
									end
									
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Магазин/Крафт/Награда/Сундук") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
									end
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
									end
									
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								l = l + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Добыча/Крафт/Сундук/Подарок") then
		str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_loot.png|x80px|ссылка=%s]]', "Добыча и экипировка")
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="gift" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(gifts_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do
						for k3, v3 in pairs(gift_data[k2]["gifts"]) do
							if (v3[1] == k) then
								i = i + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
	elseif (result == "Магазин/Крафт/Награда/Сундук/Босс") then
		str = str .. mw.ustring.format('<div class="recipes"><div class="owl-carousel owl-theme recipes-carousel">')
		if data ~= nil then
			for k, v in ipairs(data) do
				i = i + 1
				str = str .. mw.ustring.format('{{RecipeImage|%s|%d}}', item, k)
			end
		end
		if i == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div></div>')
		str = str .. mw.ustring.format('<div class="awards" style="width:fit-content; width: -moz-fit-content">')
		for k, v in lib.pairsByAlphabeticalKeys(gm_data) do
			for k2, v2 in pairs(gm_data[k]["rewards"]) do
				if gm_data[k]["type"] == 1 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item)then
									l = l + 1
									if checkpoint ~= gm_data[k]["type"] then
										checkpoint = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_event.png|x100px|ссылка=%s]]', "События")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 2 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						if k2 == "clan" then
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								for k5, v5 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3][k4]) do
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки"
									end
									if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Ранги" then
										gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Очки гилдования"
									end
									
									if (gm_data[k]["rewards"][k2][k3][k4][k5][1] == item) then
										l = l + 1
										if checkpoint2 ~= gm_data[k]["type"] then
											checkpoint2 = gm_data[k]["type"]
											str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
										end
									end
								end
							end
						else
							for k4, v4 in pairs(gm_data[k]["rewards"][k2][k3]) do
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
								end
								if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
								
								if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
									l = l + 1
									if checkpoint2 ~= gm_data[k]["type"] then
										checkpoint2 = gm_data[k]["type"]
										str = str .. mw.ustring.format('[[Файл:icon_siege.png|x100px|ссылка=%s]]', "Осады")
									end
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 3 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint3 ~= gm_data[k]["type"] then
									checkpoint3 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 4 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint4 ~= gm_data[k]["type"] then
									checkpoint4 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 5 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint5 ~= gm_data[k]["type"] then
									checkpoint5 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 6 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in ipairs(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint6 ~= gm_data[k]["type"] then
									checkpoint6 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова")
								end
							end
						end
					end
				elseif gm_data[k]["type"] == 7 then
					for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do
						for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Изумруды" then
								gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки"
							end
							if gm_data[k]["rewards"][k2][k3][k4][1] == "Ранги" then
									gm_data[k]["rewards"][k2][k3][k4][1] = "Очки гилдования"
								end
							
							if (gm_data[k]["rewards"][k2][k3][k4][1] == item) then
								l = l + 1
								if checkpoint7 ~= gm_data[k]["type"] then
									checkpoint7 = gm_data[k]["type"]
									str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов")
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			for k2, v2 in pairs(boss_data[k]["loot"]) do
				if (v2[1] == item) then
					m = m + 1
					str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
				end
			end
		end
		if m == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">')
		for k, v in ipairs(loot_data) do
			for k1, v1 in ipairs(v) do
				if (v[k1][1] == item) then
					for k2, v2 in pairs(item_data) do
						for k3, v3 in pairs(item_data[k2]["loot"]) do
							if (v3[1] == k) then
								l = l + 1
								if checkpoint ~= k2 then
									checkpoint = k2
									str = str .. mw.ustring.format('%s', p.getItemIcon(k2, "75px"))
								end
							end
						end
					end
				end
			end
		end
		if l == 0 then
			str = str .. "Нет данных"
		end
		str = str .. mw.ustring.format('</div>')
		str = str .. mw.ustring.format('<div class="shop" style="width:fit-content; width: -moz-fit-content">')
		str = str .. mw.ustring.format('[[Файл:icon_shop.png|x100px|ссылка=Магазин]]', "Магазин")
		str = str .. mw.ustring.format('</div>')
	end

	return frame:preprocess(tostring(str))	
end

function p.getItemSummon(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local get       = require ('Module:ItemData/getter')
	local boss_data = require ('Module:BossData/data')
	local item      = args['item'] or args[1]
	local summon    = "summon"
	local str       = ""
	
	local result    = get[summon](item)
	
	if (result == true) then
		str = str .. mw.ustring.format('<h2>Используется для вызова</h2><div class="bosses" style="width:fit-content; width: -moz-fit-content">')
		for k, v in pairs(boss_data) do
			if (boss_data[k]["summon"] == item) then
				str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k)
			end
		end
		str = str .. mw.ustring.format('</div>')
	end
	
	return frame:preprocess(tostring(str))
end

function p.checkSpecialItemUsedInCraft(item)
	local chunks = {}
	local str = ""
	
	if item == "Кольцо охотника Ⅰ/1" or item == "Кольцо охотника Ⅰ/2" or item == "Кольцо охотника Ⅰ/3" then
		return false
	end
	
	for substring in item:gmatch("%W+ ") do
	   table.insert(chunks, substring)
	end
	
	str = tostring(chunks[1])
	str = string.sub(str, 0, str:len()-1)
	
	if str == "Кольцо охотника" then
		return true
	else
		return false
	end
end

function p.getItemUsedInCraft(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local recipe_data = require ('Module:RecipeData/data')
	local unit_data   = require ('Module:UnitData/data')
	local item        = args['item'] or args[1]
	local str         = ""
	local checkpoint  = nil
	
	if p.checkItemUsedInCraft(item) or p.checkSpecialItemUsedInCraft(item) then
		str = str .. mw.ustring.format('<h2>Используется в крафте</h2><div class="used-in-craft" style="width:fit-content; width: -moz-fit-content">')
	end
	
	for k, v in lib.pairsByAlphabeticalKeys(recipe_data) do
		for k2, v2 in ipairs(recipe_data[k]) do
			for k3, v3 in ipairs(recipe_data[k][k2]["ingredients"]) do
				if (recipe_data[k][k2]["ingredients"][k3][1] == item) then
					if unit_data[item] ~= nil then
						if checkpoint ~= k then
							checkpoint = k
							str = str .. mw.ustring.format('%s', p.getUnitIcon(k, "50px"))
						end
					else
						if checkpoint ~= k then
							checkpoint = k
							str = str .. mw.ustring.format('%s', p.getItemIcon(k, "50px"))
						end
					end
				end
			end
		end
	end
	
	if p.checkSpecialItemUsedInCraft(item) then
		str = str .. mw.ustring.format('%s', p.getItemIcon("Кольцо", "50px"))
	end
	
	if p.checkItemUsedInCraft(item) or p.checkSpecialItemUsedInCraft(item) then
		str = str .. mw.ustring.format('</div>')
	end
	
	return frame:preprocess(tostring(str))
end

function p.checkItemUsedInCraft(item)
	local recipe_data = require ('Module:RecipeData/data')
	
	for k, v in lib.pairsByAlphabeticalKeys(recipe_data) do
		for k2, v2 in ipairs(recipe_data[k]) do
			for k3, v3 in ipairs(recipe_data[k][k2]["ingredients"]) do
				if (recipe_data[k][k2]["ingredients"][k3][1] == item) then
					return true
				end
			end
		end
	end
end

function p.getItemUsedToOpen(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local item_data  = require ('Module:ItemData/data')
	local item       = args['item'] or args[1]
	local str        = ""
	local checkpoint = nil
	
	if p.checkItemUsedToOpen(item) then
		str = str .. mw.ustring.format('<h2>Используется для открытия</h2><div class="used-in-craft" style="width:fit-content; width: -moz-fit-content">')
	end
	
	for k, v in lib.pairsByAlphabeticalKeys(item_data) do
		if item_data[k]["key"] ~= nil then
			if (item_data[k]["key"] == p.getKeyId(item)) then
				if checkpoint ~= k then
					checkpoint = k
					str = str .. mw.ustring.format('%s', p.getItemIcon(k, "50px"))
				end
			end
		end
	end
	
	if p.checkItemUsedToOpen(item) then
		str = str .. mw.ustring.format('</div>')
	end
	
	return frame:preprocess(tostring(str))
end

function p.checkItemUsedToOpen(item)
	local item_data = require ('Module:ItemData/data')
	
	for k, v in lib.pairsByAlphabeticalKeys(item_data) do
		if item_data[k]["key"] ~= nil then
			if (item_data[k]["key"] == p.getKeyId(item)) then
				return true
			end
		end
	end
end

function p.getKeyId(item)
	local key_data = require ('Module:ItemData/keys')
	
	for k, v in lib.pairsByAlphabeticalKeys(key_data) do
		if (v == item) then
			return k
		end
	end
end

function p.getItemIcon(item, size, count, tooltip, link)
	local item_data    = require ('Module:ItemData/data')
	local unit_data    = require ('Module:UnitData/data')
	local rarity_data  = require ('Module:ItemData/rarities')
	local rarity, icon = ""
	local unit = false
	
	if size == nil then
		size = "30px"
	end
	
	if count == nil then
		count = ""
	end
	
	if tooltip == nil then
		tooltip = "";
	else
		tooltip = "true";
	end
	
	if link == nil then
		link = item
	end
	
	if item == "Нет шлема" then
		return mw.ustring.format('{{ItemIcon|Нет шлема|no_helmet.png|обычный|size=40px|link=false}}')
	elseif item == "Нет доспеха" then
		return mw.ustring.format('{{ItemIcon|Нет доспеха|no_armor.png|обычный|size=40px|link=false}}')
	elseif item == "Нет оружия" then
		return mw.ustring.format('{{ItemIcon|Нет оружия|no_weapon.png|обычный|size=40px|link=false}}')
	elseif item == "Нет обуви" then
		return mw.ustring.format('{{ItemIcon|Нет обуви|no_shoes.png|обычный|size=40px|link=false}}')
	elseif item == "Нет кольца" then
		return mw.ustring.format('{{ItemIcon|Нет кольца|no_ring.png|обычный|size=40px|link=false}}')
	elseif item == "Нет ожерелья" then
		return mw.ustring.format('{{ItemIcon|Нет ожерелья|no_necklace.png|обычный|size=40px|link=false}}')
	end
	
	if lib.lookup(item_data, item) then
		icon = item_data[item]["icon"]
	elseif lib.lookup(unit_data, item) then
		icon = unit_data[item]["icon"]
		unit = true;
	else
		return item
	end
	
	if unit == false then
		if rarity_data[item_data[item]["rarity"]] and rarity_data[item_data[item]["rarity"]] ~= nil then
			rarity = rarity_data[item_data[item]["rarity"]]
		else
			rarity = "обычный"
		end
		
		return mw.ustring.format('{{ItemIcon|%s|%s|%s|size=%s|count=%s|link=%s|tooltip=%s}}', item, icon, rarity, size, count, link, tooltip)
	else
		if rarity_data[unit_data[item]["rarity"]] and rarity_data[unit_data[item]["rarity"]] ~= nil then
			rarity = rarity_data[unit_data[item]["rarity"]]
		else
			rarity = "обычный"
		end
		
		return mw.ustring.format('{{UnitIcon|%s|%s|%s|size=%s|count=%s|link=%s|tooltip=%s}}', item, icon, rarity, size, count, link, tooltip)
	end
end

function p.getIconItem(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local item_data    = require ('Module:ItemData/data')
	local rarity_data  = require ('Module:ItemData/rarities')
	local rarity, icon, size, count = ""
	
	if args['size'] == nil then
		size = "30px"
	else
		size = args['size']
	end
	
	if args['count'] == nil then
		count = ""
	else
		count = args['count']
	end
	
	if args['link'] == nil then
		link = args['item']
	else
		link = args['link']
	end
	
	if args['caption'] == nil then
		caption = ""
	else
		caption = args['caption']
	end
	
	if args['tooltip'] == nil then
		tooltip = ""
	else
		if args['tooltip'] == "true" then
			tooltip = args['item']
		else
			tooltip = ""
		end
	end
	
	if args['item'] == "Нет шлема" then
		return mw.ustring.format('{{ItemIcon|Нет шлема|no_helmet.png|обычный|size=40px|link=}}')
	elseif args['item'] == "Нет доспеха" then
		return mw.ustring.format('{{ItemIcon|Нет доспеха|no_armor.png|обычный|size=40px|link=}}')
	elseif args['item'] == "Нет оружия" then
		return mw.ustring.format('{{ItemIcon|Нет оружия|no_weapon.png|обычный|size=40px|link=}}')
	elseif args['item'] == "Нет обуви" then
		return mw.ustring.format('{{ItemIcon|Нет обуви|no_shoes.png|обычный|size=40px|link=}}')
	elseif args['item'] == "Нет кольца" then
		return mw.ustring.format('{{ItemIcon|Нет кольца|no_ring.png|обычный|size=40px|link=}}')
	elseif args['item'] == "Нет ожерелья" then
		return mw.ustring.format('{{ItemIcon|Нет ожерелья|no_necklace.png|обычный|size=40px|link=}}')
	end
	
	if lib.lookup(item_data, args['item']) then
		icon = item_data[args['item']]["icon"]
	else
		return args['item']
	end
	
	if rarity_data[item_data[args['item']]["rarity"]] and rarity_data[item_data[args['item']]["rarity"]] ~= nil then
		rarity = rarity_data[item_data[args['item']]["rarity"]]
	else
		rarity = "обычный"
	end
	
	return frame:preprocess(mw.ustring.format('{{ItemIcon|%s|%s|%s|size=%s|count=%s|link=%s|caption=%s|tooltip=%s}}', args['item'], icon, rarity, size, count, link, caption, tooltip))
end

function p.getItemCategories(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local item_data       = require ('Module:ItemData/data')
	local categories_data = require ('Module:ItemData/categories')
	local item            = args['item'] or args[1]
	local str             = ""
	
	if item_data[item]["categories"] ~= nil then
    	for _, v in ipairs(item_data[item]["categories"]) do
			str = str .. mw.ustring.format('[[Категория:%s]]\n', categories_data[v])
		end
	end
	
	return frame:preprocess(tostring(str))
end

function p.getItemDuplicateLinks(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local item_data = require ('Module:ItemData/data')
	local hero_data = require ('Module:HeroData/data')
	local boss_data = require ('Module:BossData/data')
	local shop_data = require ('Module:ShopData/data')
	local libHero   = require ('Module:HeroData')
	local libBoss   = require ('Module:BossData')
	local libShop   = require ('Module:ShopData')
	local item      = args['item'] or args[1]
	local i         = 1
	local str       = ''
	local divNode = mw.html.create('div')
	local divNode2 = mw.html.create('div')
	local divNode3 = mw.html.create('div')
	
	divNode
        :newline()
        
    divNode2
    	:addClass('custom-grid')
        :newline()
	
	divNode3
        :cssText('')
        :wikitext(mw.ustring.format('В данном пространстве вики существует несколько страниц с именем - <strong>%s</strong>.', item))
        :newline()
	
	if (item_data[item .. "/1"] ~= nil or item_data[item .. "/2"] ~= nil) or hero_data[item .. "/1"] ~= nil or boss_data[item .. "/1"] ~= nil or shop_data[item .. "/1"] ~= nil then
	
		divNode:node(divNode3):newline()
		
		while i < 10 do
			local divNode4 = mw.html.create('div')
			
			if hero_data[item .. "/" .. i] ~= nil then
	    		divNode4
					:addClass('custom-grid__card')
		            :tag('div')
		            	:cssText('margin: 0 auto;')
		                :wikitext(mw.ustring.format('{{Center|%s}}', libHero.getHeroIcon(item .. "/" .. i, "75px")))
		                :done()
		            :tag('div')
		            	:addClass('custom-grid__header')
		                :wikitext(mw.ustring.format('%s', hero_data[item .. "/" .. i]['info']))
		                :done()
		            :done()
		       divNode2:node(divNode4):newline()
			end
			
			if item_data[item .. "/" .. i] ~= nil then
				divNode4
					:addClass('custom-grid__card')
		            :tag('div')
		                :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(item .. "/" .. i, "75px")))
		                :done()
		            :tag('div')
		            	:addClass('custom-grid__footer')
		                :wikitext(mw.ustring.format('%s', item_data[item .. "/" .. i]['description']))
		                :done()
		            :done()
		       divNode2:node(divNode4):newline()
			end
			
			if boss_data[item .. "/" .. i] ~= nil then
	    		divNode4
					:addClass('custom-grid-block')
	        		:cssText('text-align: center; display: flex; flex-flow: column wrap;')
		            :tag('div')
		            	:cssText('margin: 0 auto;')
		                :wikitext(mw.ustring.format('{{Center|%s}}', libBoss.getBossIcon(item .. "/" .. i, "75px")))
		                :done()
		            :tag('div')
		            	:cssText('font-family: BeaufortforLoL; color: #649ec0; font-style: italic; margin-top: 5px;')
		                :wikitext()
		                :done()
		            :done()
		       divNode2:node(divNode4):newline()
			end
			
			if shop_data[item .. "/" .. i] ~= nil then
	    		divNode4
					:addClass('custom-grid__card')
		            :tag('div')
		            	:cssText('margin: 0 auto;')
		                :wikitext(mw.ustring.format('{{Center|%s}}', libShop.getLotIcon(item .. "/" .. i, "75px")))
		                :done()
		            :tag('div')
		            	:addClass('custom-grid__footer')
		                :wikitext(mw.ustring.format('%s', shop_data[item .. "/" .. i]['description']))
		                :done()
		            :done()
		       divNode2:node(divNode4):newline()
			end
			
			i = i + 1
		end
		
		divNode:node(divNode2):newline()
	else
		return
	end
	
	return frame:preprocess(tostring(divNode))
end

function p.getItemActivatesHero(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local hero_data  = require ('Module:HeroData/data')
	local libHero    = require('Module:HeroData')
	local item       = args['item'] or args[1]
	local str        = ""
	local checkpoint = nil
	
	str = str .. mw.ustring.format('<h2>Используется для активации героя</h2><div class="activates-hero" style="width:fit-content; width: -moz-fit-content">')
	
	for k, v in lib.pairsByAlphabeticalKeys(hero_data) do
		if (k == lib.replace(item, "Осколки: ", "") or lib.replace(k, "/1", "") == lib.replace(item, "Осколки: ", "")) then
			str = str .. mw.ustring.format('%s', libHero.getHeroIcon(k, "75px"))
		end
	end
	
	str = str .. mw.ustring.format('</div>')
	
	return frame:preprocess(tostring(str))
end

function p.getItemCategoriesTable(frame)
	local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
		
	local item_data       = require ('Module:ItemData/data')
	local categories_data = require ('Module:ItemData/categories')
	local category        = args['category'] or args[1]
	local items           = {}
    local divNode         = mw.html.create('div')
    
    for k, v in lib.pairsByAlphabeticalKeys(item_data) do
    	if item_data[k]['categories'] ~= nil then
	    	for k1, v1 in ipairs(item_data[k]['categories']) do
	    		if category == categories_data[item_data[k]['categories'][k1]] then
	    			table.insert(items, k)
	    		end
	    	end
	    end
    end
    
    divNode
    	:addClass('custom-grid')
        :newline()
    
    for k1, v1 in lib.pairsByAlphabeticalKeys(items) do
    	local divNode2 = mw.html.create('div')
		
		divNode2
			:addClass('custom-grid__card')
    		:tag('div')
    			:addClass('custom-grid__header')
                :wikitext(mw.ustring.format('%s', item_data[v1]['name']))
                :done()
            :tag('div')
                :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(v1, "75px", nil, true)))
                :done()
            :tag('div')
            	:addClass('custom-grid__footer')
                :wikitext(mw.ustring.format('%s', item_data[v1]['description']))
                :done()
            :done()
        divNode:node(divNode2):newline()
    end
    
    return frame:preprocess(tostring(divNode))
end

return p