Модуль:ItemData
Данная группа модулей хранит информацию обо всех предметах из Крушителей подземелий. Перечень модулей:
- Модуль:ItemData - основные функции
- Модуль:ItemData/data - массив данных о предметах
- Модуль:ItemData/getter - сборщик данных о предметах
- Модуль:ItemData/rarities - массив данных c редкостями предметов
- Модуль:ItemData/types - массив данных c типами предметов
- Модуль:ItemData/subtypes - массив данных c подтипами предметов
- Модуль:ItemData/abilities - массив данных с активными способностями для рун
- Модуль:ItemData/loot - массив данных с добычей сундуков
- Модуль:ItemData/loot/types - массив данных с типами добычи сундуков
- Модуль:ItemData/keys - массив данных с ключами от сундуков
- Модуль:ItemData/source - массив данных с типами источника получения предметов
- Модуль:ItemData/categories - массив данных с категориями предметов
Информация из Модуль: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
Lorem ipsum dolor sit amet