Модуль:ItemData/getter
Данная группа модулей хранит информацию обо всех предметах из Крушителей подземелий. Перечень модулей:
- Модуль: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 data = require('Module:ItemData/data')
local rarity = require('Module:ItemData/rarities')
local type = require('Module:ItemData/types')
local subtype = require('Module:ItemData/subtypes')
local ability = require('Module:ItemData/abilities')
local loot = require('Module:ItemData/loot')
local loot_type = require('Module:ItemData/loot/types')
local key = require('Module:ItemData/keys')
local source = require('Module:ItemData/source')
local category = require('Module:ItemData/categories')
function p.name(item)
return data[item].name or item
end
function p.icon(item)
return data[item].icon
end
function p.rarity(item)
return rarity[data[item].rarity]
end
function p.description(item)
return data[item].description
end
function p.type(item)
return type[data[item].type]
end
function p.subtype(item)
return subtype[data[item].subtype]
end
-- Table: [abilities]
function p.abilities(item)
local tbl = {}
for _, v in ipairs(data[item].abilities) do
table.insert(tbl, p.ability(v))
end
return tbl
end
function p.ability(ability_value)
return ability[ability_value]
end
function p.min_cost(item)
return data[item].min_cost
end
function p.deposit(item)
return data[item].deposit
end
function p.min_lvl(item)
return data[item].min_lvl
end
-- Table: [loot]
function p.loot(item)
local tbl = {}
for _, v in ipairs(data[item].loot) do
table.insert(tbl, p.items(v[1], v[2], v[3]))
end
return tbl
end
function p.items(loot_id, count, type)
local tbl = {}
for _, v in ipairs(loot[loot_id]) do
if v[2] == nil then
v[2] = ""
end
table.insert(tbl, v)
end
return tbl
end
function p.loot_count(item)
return table.maxn(data[item].loot)
end
function p.loot_data(item)
local tbl = {}
for _, v in ipairs(data[item].loot) do
table.insert(tbl, v)
end
return tbl
end
function p.key(item)
return key[data[item].key]
end
function p.source(item)
return source[data[item].source]
end
function p.summon(item)
return data[item].summon
end
function p.used_in_craft(item)
return data[item].used_in_craft
end
-- Table: [categories]
function p.categories(item)
local tbl = {}
if data[item].categories ~= nil then
for k, v in pairs(data[item].categories) do
table.insert(tbl, category[v])
end
end
return tbl
end
return p