Модуль:UnitData/getter: различия между версиями
(JustPlayer изменил модель содержимого страницы Модуль:UnitData/getter с «Scribunto» на «JavaScript») Метка: изменение модели содержимого |
Нет описания правки |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 8: | Строка 8: | ||
local ability = require('Module:HeroData/abilities') | local ability = require('Module:HeroData/abilities') | ||
local source = require('Module:ItemData/source') | local source = require('Module:ItemData/source') | ||
local category = require('Module:HeroData/categories') | |||
function p.name(unit) | function p.name(unit) | ||
return data[unit]. | return data[unit].name or unit | ||
end | end | ||
Строка 37: | Строка 38: | ||
end | end | ||
return str | return str | ||
end | |||
function p.level(unit) | |||
return data[unit].level | |||
end | end | ||
Строка 107: | Строка 112: | ||
function p.source(unit) | function p.source(unit) | ||
return source[data[unit].source] | return source[data[unit].source] | ||
end | |||
-- Table: [categories] | |||
function p.categories(unit) | |||
local tbl = {} | |||
for k, v in pairs(data[unit].categories) do | |||
table.insert(tbl, category[v]) | |||
end | |||
return tbl | |||
end | end | ||
return p | return p |
Текущая версия от 05:43, 19 марта 2023
Данная группа модулей хранит информацию обо всех юнитах из Крушителей подземелий. Перечень модулей:
- Модуль:UnitData - основные функции
- Модуль:UnitData/data - массив данных о юнитах
- Модуль:UnitData/getter - сборщик данных о юнитах
Информация из Модуль:UnitData/doc
Данный модуль содержит все основные функции для получения определенных данных по юниту.
local p = {} local data = require('Module:UnitData/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 ability = require('Module:HeroData/abilities') local source = require('Module:ItemData/source') local category = require('Module:HeroData/categories') function p.name(unit) return data[unit].name or unit end function p.icon(unit) return data[unit].icon end function p.rarity(unit) return rarity[data[unit].rarity] end function p.race(unit) return race[data[unit].race] end function p.class(unit) return class[data[unit].class] end function p.alliance(unit) local str if data[unit].alliance == nil then str = "" else str = alliance[data[unit].alliance] end return str end function p.level(unit) return data[unit].level end function p.type(unit) return type[data[unit].type] end -- Table: [stats] function p.stats(unit) return data[unit].stats end function p.total_stats(unit) return data[unit].stats.total end function p.hp_base(unit) return data[unit].stats.hp_base end function p.def_base(unit) return data[unit].stats.def_base end function p.atk_base(unit) return data[unit].stats.atk_base end function p.wis_base(unit) return data[unit].stats.wis_base end function p.agi_base(hero) return data[hero].stats.agi_base end -- Table: [abilities] function p.abilities(unit) local tbl = {} for _, v in ipairs(data[unit].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(unit) return data[unit].dislike end function p.feature(unit) return data[unit].feature end function p.description(unit) return data[unit].description end function p.min_cost(unit) return data[unit].min_cost end function p.deposit(unit) return data[unit].deposit end function p.source(unit) return source[data[unit].source] end -- Table: [categories] function p.categories(unit) local tbl = {} for k, v in pairs(data[unit].categories) do table.insert(tbl, category[v]) end return tbl end return p