Модуль:HeroData/getter
Данная группа модулей хранит информацию обо всех героях из Крушителей подземелий. Перечень модулей:
- Модуль:HeroData - основные функции
- Модуль:HeroData/data - массив данных о героях
- Модуль:HeroData/getter - сборщик данных о героях
- Модуль:HeroData/rarities - массив данных c редкостями героев
- Модуль:HeroData/races - массив данных с расами героев
- Модуль:HeroData/classes - массив данных с классами героев
- Модуль:HeroData/alliances - массив данных с альянсами героев
- Модуль:HeroData/types - массив данных c типами атак героев
- Модуль:HeroData/skills - массив данных с пассивными способностями героев
- Модуль:HeroData/abilities - массив данных с активными способностями героев
- Модуль:HeroData/equip - массив данных с комплектами экипировок героев
- Модуль:HeroData/categories - массив данных с категориями героев
Информация из Модуль:HeroData/doc
Данный модуль содержит все основные функции для получения определенных данных по герою.
local p = {}
local data = require('Module:HeroData/data')
local rarity = require('Module:HeroData/rarities')
local race = require('Module:HeroData/races')
local class = require('Module:HeroData/classes')
local alliance = require('Module:HeroData/alliances')
local type = require('Module:HeroData/types')
local skills = require('Module:HeroData/skills')
local ability = require('Module:HeroData/abilities')
local equips = require('Module:HeroData/equip')
local category = require('Module:HeroData/categories')
function p.exists(hero)
return data[hero] ~= nil
end
function p.name(hero)
return data[hero].name or hero
end
function p.icon(hero)
return data[hero].icon
end
function p.icon_shard(hero)
return data[hero].icon_shard
end
function p.shard_count(hero)
return data[hero].shard_count
end
function p.quote(hero)
return data[hero].quote
end
function p.rarity(hero)
return rarity[data[hero].rarity]
end
function p.race(hero)
return race[data[hero].race]
end
function p.class(hero)
return class[data[hero].class]
end
function p.alliance(hero)
local str
if data[hero].alliance == nil then
str = ""
else
str = alliance[data[hero].alliance]
end
return str
end
function p.type(hero)
return type[data[hero].type]
end
-- Table: [stats]
function p.stats(hero)
return data[hero].stats
end
function p.total_stats(hero)
return data[hero].stats.total
end
function p.hp_base(hero)
return data[hero].stats.hp_base
end
function p.def_base(hero)
return data[hero].stats.def_base
end
function p.atk_base(hero)
return data[hero].stats.atk_base
end
function p.wis_base(hero)
return data[hero].stats.wis_base
end
function p.agi_base(hero)
return data[hero].stats.agi_base
end
-- Table: [abilities]
function p.abilities(hero)
local tbl = {}
for _, v in pairs(data[hero].abilities) do
table.insert(tbl, p.ability(v))
end
return tbl
end
function p.ability(ability_value)
return ability[ability_value]
end
function p.dislike(hero)
return data[hero].dislike
end
function p.feature(hero)
return data[hero].feature
end
-- Table: [elita]
function p.elita(hero)
local tbl = {}
for k, v in ipairs(data[hero].elita) do
if v ~= 0 then
table.insert(tbl, "элита" .. k .. "_" .. v)
end
end
return tbl
end
-- Table: [skills]
function p.skills(hero)
local tbl = {}
for _, v in ipairs(data[hero].skills) do
table.insert(tbl, p.skill(v[1], v[2]))
end
return tbl
end
function p.skill(skill, lvl)
if lvl == nil then
lvl = "-"
end
if skills[skill][5] == nil then
skills[skill][5] = ""
end
if skills[skill][6] == nil then
skills[skill][6] = ""
end
table.insert(skills[skill], 3, lvl)
skills[skill][4] = "эффект=" .. skills[skill][4]
skills[skill][5] = skills[skill][5]
skills[skill][6] = skills[skill][6]
return skills[skill]
end
function p.base_cost(hero)
if data[hero].base_cost == "" then
data[hero].base_cost = "N/A"
end
return data[hero].base_cost
end
function p.base_dps(hero)
if data[hero].base_dps == "" then
data[hero].base_dps = "N/A"
end
return data[hero].base_dps
end
function p.info(hero)
return data[hero].info
end
-- Table: [equip]
function p.equip(hero)
local tbl = {}
for _, v in ipairs(data[hero].equip) do
table.insert(tbl, p.equips(v))
end
return tbl
end
function p.equips(equip)
return equips[equip]
end
-- Table: [categories]
function p.categories(hero)
local tbl = {}
for k, v in pairs(data[hero].categories) do
table.insert(tbl, category[v])
end
return tbl
end
return p