Модуль:UnitData/getter: различия между версиями

Нет описания правки
 
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 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].unit or 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/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