Модуль:ItemData: различия между версиями
Нет описания правки |
Нет описания правки |
||
(не показано 86 промежуточных версий этого же участника) | |||
Строка 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 ~= " | 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 == " | elseif (result == "Подарок") then | ||
str = str .. mw.ustring.format('<div class=" | 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 k, v in ipairs( | |||
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( | for k2, v2 in lib.pairsByAlphabeticalKeys(gift_data) do | ||
for k3, v3 in pairs( | for k3, v3 in pairs(gift_data[k2]["gifts"]) do | ||
if (v3[1] == k) then | if (v3[1] == k) then | ||
i = i + 1 | |||
if checkpoint ~= k2 then | if checkpoint ~= k2 then | ||
checkpoint = k2 | checkpoint = k2 | ||
str = str .. mw.ustring.format('%s', | str = str .. mw.ustring.format('%s', libGift.getGiftIcon(k2, "75px")) | ||
end | end | ||
end | end | ||
Строка 388: | Строка 397: | ||
end | end | ||
end | end | ||
if | if i == 0 then | ||
str = str .. "Нет данных" | str = str .. "Нет данных" | ||
end | end | ||
str = str .. mw.ustring.format('</div>') | str = str .. mw.ustring.format('</div>') | ||
elseif (result == "Крафт | 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>') | ||
elseif (result == "Крафт/Сундук") then | |||
elseif (result == "Крафт/ | |||
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=" | str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">') | ||
for k, v in | for k, v in ipairs(loot_data) do | ||
for | for k1, v1 in ipairs(v) do | ||
if | if (v[k1][1] == item) then | ||
for | 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 | ||
elseif | 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 | |||
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 .. "Нет данных" | ||
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 | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 | ||
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 | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 == "Сундук | 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 == " | elseif (result == "Добыча/Подарок") then | ||
str = str .. mw.ustring.format('<div class=" | str = str .. mw.ustring.format('<div class="loot" style="width:fit-content; width: -moz-fit-content">') | ||
if | 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 | |||
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> | str = str .. mw.ustring.format('</div>') | ||
str = str .. mw.ustring.format('<div class=" | elseif (result == "Сундук/Босс") then | ||
for k, v in | str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">') | ||
for | for k, v in ipairs(loot_data) do | ||
if | for k1, v1 in ipairs(v) do | ||
for | if (v[k1][1] == item) then | ||
for | for k2, v2 in pairs(item_data) do | ||
for k3, v3 in pairs(item_data[k2]["loot"]) do | |||
if | 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 | |||
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 | 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 | if data ~= nil then | ||
for k, v in ipairs(data) do | |||
str = str .. mw.ustring.format(' | 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"] == | 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 | ||
for k5, v5 in pairs(gm_data[k]["rewards"][k2][k3][k4]) do | |||
gm_data[k]["rewards"][k2][k3][k4][ | if gm_data[k]["rewards"][k2][k3][k4][k5][1] == "Изумруды" then | ||
gm_data[k]["rewards"][k2][k3][k4][k5][1] = "Зеленые осколки" | |||
gm_data[k]["rewards"][k2][k3][k4][1] = " | |||
end | end | ||
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][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"] == | 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 | 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 | 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 | if checkpoint3 ~= gm_data[k]["type"] then | ||
checkpoint3 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | str = str .. mw.ustring.format('[[Файл:icon_league.png|x100px|ссылка=%s]]', "Лига Чемпионов") | ||
end | end | ||
end | end | ||
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 | |||
if ( | checkpoint4 = gm_data[k]["type"] | ||
str = str .. mw.ustring.format('[[Файл:icon_dragon_draft.png|100px|ссылка=%s]]', "Драконий Драфт") | |||
if | |||
str = str .. mw.ustring.format('%s' | |||
end | end | ||
end | 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] == "Изумруды" then | |||
gm_data[k]["rewards"][k2][k3][k4][1] = "Зеленые осколки" | |||
for k3, v3 in pairs(gm_data[k]["rewards"][k2]) do | |||
for k4, v4 in lib.pairsByAlphabeticalKeys(gm_data[k]["rewards"][k2][k3]) do | |||
end | end | ||
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][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"] == | 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 | 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 | if checkpoint6 ~= gm_data[k]["type"] then | ||
checkpoint6 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова") | ||
end | end | ||
end | end | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 | 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 | 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 | if checkpoint7 ~= gm_data[k]["type"] then | ||
checkpoint7 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%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=" | str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">') | ||
for k, v in | for k, v in ipairs(loot_data) do | ||
for k2, v2 in pairs( | 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 | end | ||
Строка 1100: | Строка 1233: | ||
end | end | ||
str = str .. mw.ustring.format('</div>') | str = str .. mw.ustring.format('</div>') | ||
elseif (result == "Награда | 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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | |||
for | |||
if ( | |||
l = l + 1 | l = l + 1 | ||
if | if checkpoint7 ~= gm_data[k]["type"] then | ||
checkpoint7 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('%s' | 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 == " | elseif (result == "Награда/Сундук/Босс") then | ||
str = str .. mw.ustring.format('<div class=" | 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]]', "События") | |||
for k, v in | end | ||
for | |||
if | |||
for k2, | |||
end | end | ||
end | 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 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 | |||
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 | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 | ||
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 | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 | ||
i = i + 1 | |||
if | if checkpoint5 ~= gm_data[k]["type"] then | ||
checkpoint5 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | str = str .. mw.ustring.format('[[Файл:icon_hunt.png|98px|ссылка=%s]]', "Королевская охота") | ||
end | end | ||
end | end | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 | 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 | |||
if | if checkpoint6 ~= gm_data[k]["type"] then | ||
checkpoint6 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | str = str .. mw.ustring.format('[[Файл:icon_lairs.png|80px|ссылка=%s]]', "Логова") | ||
end | end | ||
end | end | ||
end | end | ||
end | end | ||
elseif gm_data[k]["type"] == | 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 | ||
i = i + 1 | |||
if | if checkpoint7 ~= gm_data[k]["type"] then | ||
checkpoint7 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | str = str .. mw.ustring.format('[[Файл:icon_labyrinth.png|100px|ссылка=%s]]', "Лабиринт Богов") | ||
end | end | ||
end | end | ||
Строка 1387: | Строка 1475: | ||
end | end | ||
end | end | ||
if | 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 | 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 | ||
i = i + 1 | |||
if checkpoint ~= k2 then | if checkpoint ~= k2 then | ||
checkpoint = k2 | checkpoint = k2 | ||
Строка 1422: | Строка 1536: | ||
end | end | ||
end | end | ||
if | 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="gift" style="width:fit-content; width: -moz-fit-content">') | |||
str = str .. mw.ustring.format('<div class=" | 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 | end | ||
Строка 1441: | Строка 1561: | ||
str = str .. "Нет данных" | str = str .. "Нет данных" | ||
end | end | ||
str = str .. mw.ustring.format('</div>') | str = str .. mw.ustring.format('</div>') | ||
elseif (result == " | 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=" | str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">') | ||
for k, v in | for k, v in ipairs(loot_data) do | ||
for | for k1, v1 in ipairs(v) do | ||
if | if (v[k1][1] == item) then | ||
for | 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 | |||
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 .. "Нет данных" | |||
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 | if checkpoint ~= gm_data[k]["type"] then | ||
checkpoint = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | 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"] == | 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 | ||
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 | ||
if gm_data[k]["rewards"][k2][k3][k4][1] == | else | ||
gm_data[k][" | 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] == item) then | |||
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] == 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] == 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=" | 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 | ||
end | end | ||
if | if m == 0 then | ||
str = str .. "Нет данных" | str = str .. "Нет данных" | ||
end | end | ||
str = str .. mw.ustring.format(' | str = str .. mw.ustring.format('</div>') | ||
str = str .. mw.ustring.format('<div class=" | str = str .. mw.ustring.format('<div class="chests" style="width:fit-content; width: -moz-fit-content">') | ||
for k, v in | for k, v in ipairs(loot_data) do | ||
for | for k1, v1 in ipairs(v) do | ||
if | if (v[k1][1] == item) then | ||
for | 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 | end | ||
elseif | 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 | |||
for | 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 | if checkpoint ~= gm_data[k]["type"] then | ||
checkpoint = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('[[Файл: | 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"] == | 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 | ||
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 | 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 | ||
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 | |||
if ( | |||
l = l + 1 | l = l + 1 | ||
if | if checkpoint7 ~= gm_data[k]["type"] then | ||
checkpoint7 = gm_data[k]["type"] | |||
str = str .. mw.ustring.format('%s' | 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 == "Магазин/Крафт/Награда/Сундук | 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="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 | ||
for k1, v1 in ipairs(v) do | for k1, v1 in ipairs(v) do | ||
Строка 1988: | Строка 2169: | ||
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 | |||
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 | |||
str = str .. mw.ustring.format('< | for k1, v1 in ipairs(v) do | ||
for k, v in | if (v[k1][1] == item) then | ||
if ( | 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 | ||
end | |||
if i == 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="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 | |||
str = str .. mw.ustring.format(' | |||
end | 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>') | ||
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 | ||
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 | |||
end | 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 | end | ||
end | if l == 0 then | ||
str = str .. "Нет данных" | |||
return frame:preprocess(tostring(str)) | end | ||
end | str = str .. mw.ustring.format('</div>') | ||
str = str .. mw.ustring.format('<div class="bosses" style="width:fit-content; width: -moz-fit-content">') | |||
function p. | 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 args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end | ||
local | local get = require ('Module:ItemData/getter') | ||
local boss_data = require ('Module:BossData/data') | local boss_data = require ('Module:BossData/data') | ||
local shop_data = require ('Module:ShopData/data') | local item = args['item'] or args[1] | ||
local libBoss = require ('Module:BossData') | local summon = "summon" | ||
local item = args['item'] or args[1] | local str = "" | ||
local i = 1 | |||
local str = '' | local result = get[summon](item) | ||
local divNode = mw.html.create('div') | |||
local divNode2 = mw.html.create('div') | if (result == true) then | ||
local divNode3 = mw.html.create('div') | 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 | |||
divNode | if (boss_data[k]["summon"] == item) then | ||
:newline() | str = str .. mw.ustring.format('[[Файл:%s|100px|ссылка=%s/босс]]', boss_data[k]["icon"], k) | ||
end | |||
divNode2 | end | ||
:addClass('custom-grid') | str = str .. mw.ustring.format('</div>') | ||
:newline() | end | ||
divNode3 | return frame:preprocess(tostring(str)) | ||
:cssText('') | end | ||
:wikitext(mw.ustring.format('В данном пространстве вики существует несколько страниц с именем - <strong>%s</strong>.', item)) | |||
:newline() | function p.checkSpecialItemUsedInCraft(item) | ||
local chunks = {} | |||
if item_data[item .. "/1"] ~= nil or boss_data[item .. "/1"] ~= nil or shop_data[item .. "/1"] ~= nil then | local str = "" | ||
divNode:node(divNode3):newline() | if item == "Кольцо охотника Ⅰ/1" or item == "Кольцо охотника Ⅰ/2" or item == "Кольцо охотника Ⅰ/3" then | ||
return false | |||
while i < 10 do | end | ||
local divNode4 = mw.html.create('div') | |||
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 | if item_data[item .. "/" .. i] ~= nil then | ||
divNode4 | divNode4 | ||
:addClass('custom- | :addClass('custom-grid__card') | ||
:tag('div') | :tag('div') | ||
:wikitext(mw.ustring.format('%s', p.getItemIcon(item .. "/" .. i, "75px"))) | :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(item .. "/" .. i, "75px"))) | ||
:done() | :done() | ||
:tag('div') | :tag('div') | ||
: | :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() | ||
Строка 2308: | Строка 2830: | ||
:tag('div') | :tag('div') | ||
:cssText('margin: 0 auto;') | :cssText('margin: 0 auto;') | ||
:wikitext(mw.ustring.format('%s', libBoss.getBossIcon(item .. "/" .. i, "75px"))) | :wikitext(mw.ustring.format('{{Center|%s}}', libBoss.getBossIcon(item .. "/" .. i, "75px"))) | ||
:done() | :done() | ||
:tag('div') | :tag('div') | ||
Строка 2320: | Строка 2842: | ||
if shop_data[item .. "/" .. i] ~= nil then | if shop_data[item .. "/" .. i] ~= nil then | ||
divNode4 | divNode4 | ||
:addClass('custom- | :addClass('custom-grid__card') | ||
:tag('div') | :tag('div') | ||
:cssText('margin: 0 auto;') | :cssText('margin: 0 auto;') | ||
:wikitext(mw.ustring.format('%s', | :wikitext(mw.ustring.format('{{Center|%s}}', libShop.getLotIcon(item .. "/" .. i, "75px"))) | ||
:done() | :done() | ||
:tag('div') | :tag('div') | ||
: | :addClass('custom-grid__footer') | ||
:wikitext() | :wikitext(mw.ustring.format('%s', shop_data[item .. "/" .. i]['description'])) | ||
:done() | :done() | ||
:done() | :done() | ||
Строка 2357: | Строка 2878: | ||
for k, v in lib.pairsByAlphabeticalKeys(hero_data) do | for k, v in lib.pairsByAlphabeticalKeys(hero_data) do | ||
if (k == lib.replace(item, "Осколки: ", "")) then | if (k == lib.replace(item, "Осколки: ", "") or lib.replace(k, "/1", "") == lib.replace(item, "Осколки: ", "")) then | ||
str = str .. mw.ustring.format('%s', libHero.getHeroIcon(k, "75px")) | str = str .. mw.ustring.format('%s', libHero.getHeroIcon(k, "75px")) | ||
end | end | ||
Строка 2394: | Строка 2915: | ||
divNode2 | divNode2 | ||
:addClass('custom- | :addClass('custom-grid__card') | ||
:tag('div') | :tag('div') | ||
: | :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('%s', p.getItemIcon(v1, "75px"))) | :wikitext(mw.ustring.format('{{Center|%s}}', p.getItemIcon(v1, "75px", nil, true))) | ||
:done() | :done() | ||
:tag('div') | :tag('div') | ||
: | :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 - основные функции
- Модуль: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