Модуль:HeroData/getter: различия между версиями
Нет описания правки Метка: ручная отмена |
Нет описания правки Метка: отменено |
||
Строка 114: | Строка 114: | ||
function p.elita(hero) | function p.elita(hero) | ||
local tbl = {} | local tbl = {} | ||
for k, v in | for k, v in pairs(data[hero].elita) do | ||
table.insert(tbl, "элита" .. k .. "_" .. v) | table.insert(tbl, "элита" .. k .. "_" .. v) | ||
end | end |
Версия от 20:41, 4 ноября 2022
Данная группа модулей хранит информацию обо всех героях из Крушителей подземелий. Перечень модулей:
- Модуль: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 pairs(data[hero].elita) do table.insert(tbl, "элита" .. k .. "_" .. v) 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