Модуль:BossData/getter

Версия от 05:33, 15 января 2022; JustPlayer (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Данная группа модулей хранит информацию обо всех боссах из Крушителей подземелий. Перечень модулей:

Информация из Модуль:BossData/doc

Данный модуль содержит все основные функции для получения определенных данных по боссу.


local p = {}
local lib = require('Module:Feature')
local data = require('Module:BossData/data')
local race = require('Module:HeroData/races')
local type = require('Module:BossData/types')

function p.name(boss)
    return data[boss].name or boss
end

function p.icon(boss)
	return data[boss].icon
end

function p.race(boss)
    return race[data[boss].race]
end

function p.type(boss)
    return type[data[boss].type]
end

function p.time(boss)
	return data[boss].time
end

function p.members(boss)
	return data[boss].members
end

function p.hp_boss(boss)
    return lib.comma_value(data[boss].hp)
end

function p.feature(boss)
	return data[boss].feature
end

function p.points(boss)
    return lib.comma_value(data[boss].points)
end

function p.points_mvp(boss)
    return lib.comma_value(math.ceil(data[boss].points * 0.3))
end

function p.points_other(boss)
    return lib.comma_value(math.ceil(data[boss].points * 0.05))
end

function p.summon(boss)
	if data[boss].summon == nil then
		data[boss].summon = ""
	end
    return data[boss].summon
end

function p.info(boss)
    return data[boss].info
end

-- Table: [loot]
function p.loot(boss)
	local tbl = {}
	for _, v in ipairs(data[boss].loot) do
		if v[2] == nil then
			v[2] = ""
		end
		table.insert(tbl, v)
	end
	return tbl
end

-- Table: [guards]
function p.guards(boss)
	local tbl = {}
	for _, v in ipairs(data[boss].guards) do
		table.insert(tbl, v)
	end
	return tbl
end

return p