Модуль:GiftData/getter

Версия от 06:35, 14 июня 2023; JustPlayer (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

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

Данный модуль содержит все основные функции для получения определенных данных по подарку.


local p = {}
local data = require('Module:GiftData/data')
local gifts = require('Module:GiftData/gifts')
local gift_type = require('Module:ItemData/loot/types')
local source = require('Module:ItemData/source')
local category = require('Module:GiftData/categories')

function p.name(gift)
    return data[gift].name or gift
end

function p.icon(gift)
    return data[gift].icon
end

function p.hero(gift)
    return data[gift].hero
end

function p.description(gift)
    return data[gift].description
end

function p.gifts(gift)
	local tbl = {}
	for _, v in ipairs(data[gift].gifts) do
		table.insert(tbl, p.items(v[1], v[2], v[3]))
	end
	return tbl
end

function p.items(gifts_id, count, type)
	local tbl = {}
	for _, v in ipairs(gifts[gifts_id]) do
		if v[2] == nil then
			v[2] = ""
		end
		table.insert(tbl, v)
	end
	return tbl
end

function p.gifts_count(gift)
	return table.maxn(data[gift].gifts)
end

function p.gifts_data(gift)
	local tbl = {}
	for _, v in ipairs(data[gift].gifts) do
		table.insert(tbl, v)
	end
	return tbl
end

function p.source(gift)
	return source[data[gift].source]
end

function p.categories(gift)
	local tbl = {}
	
	if data[gift].categories ~= nil then
		for k, v in pairs(data[gift].categories) do
			table.insert(tbl, category[v])
		end
	end
	
	return tbl
end

return p