본문으로 이동

모듈:TFTUnitData/getter

겜스 위키 (구 게임세상)

이 모듈에 대한 설명문서는 모듈:TFTUnitData/getter/설명문서에서 만들 수 있습니다

-- <pre>
local p = {}
local data = mw.loadData('Module:TFTUnitData/data')

local function compare(a, b) --auxiliary function
    return tonumber(a) < tonumber(b)
end

local function firstset(champname) -- returns latest set number
	local sets = data[champname]
	local sortedSets = {}
    for setnumber in pairs(sets) do
        table.insert(sortedSets, tostring(setnumber))
    end
    table.sort(sortedSets, compare)
	return tonumber(sortedSets[1])
end

--local function lastset(champname) -- returns latest set number
--	local sets = data[champname]
--	local sortedSets = {}
--	for setnumber in pairs(sets) do
--		table.insert(sortedSets, tostring(setnumber))
--	end
--	table.sort(sortedSets, compare)
--	return tonumber(sortedSets[#sortedSets])
--end

local function lastset(champname) -- returns latest set number
	local sets			= data[champname]
	local sortedSets	= {}
	local cmd       	= mw.loadData('Module:Maintenance data/data')
	local currentset	= tonumber(cmd['TFTSet'])
	local allsets		= cmd['AllTFTSets']
	for setnumber in pairs(sets) do
		table.insert(sortedSets, tostring(setnumber))
	end
	table.sort(sortedSets, compare)
	for i = #sortedSets, 1, -1 do
		local set = tonumber(sortedSets[i])
		for j, validSet in ipairs(allsets) do
			if tonumber(validSet) == set and set <= currentset then
				return set
			end
		end
	end
	if tonumber(sortedSets[#sortedSets]) > currentset then
		return tonumber(sortedSets[#sortedSets])
	else
		return currentset
	end
end

local function getData(champname, set)
	return data[champname] and data[champname][set or lastset(champname)] or {}
end

function p.sets(champname) -- returns: table
    return data[champname]
end

function p.championset(champname, set) -- returns: table
    return getData(champname, set)
end
 
function p.skin(champname, set) -- returns: string
    return getData(champname, set).skin
end
 
function p.variant(champname, set) -- returns: string
    return getData(champname, set).variant
end
 
function p.tier(champname, set) -- returns: string
    return getData(champname, set).tier
end
 
function p.cost(champname, set) -- returns: string
    return getData(champname, set).cost or getData(champname, set).tier
end

function p.blood(champname, set) -- returns: number
    return getData(champname, set).blood
end

function p.render(champname, set) -- returns: string
    return getData(champname, set).render
end

function p.star4(champname, set) -- returns: boolean
	return getData(champname, set).star4 or false
end

function p.origin(champname, set) -- returns: table
    return getData(champname, set).origin or {}
end

function p.origin1(champname, set) -- returns: string
	local _ = p.origin(champname, set)
    return _ and _[1] or ''
end

function p.origin2(champname, set) -- returns: string
	local _ = p.origin(champname, set)
    return _ and _[2] or ''
end

function p.class(champname, set) -- returns: table
    return getData(champname, set).class or {}
end

function p.class1(champname, set) -- returns: string
	local _ = p.class(champname, set)
    return _ and _[1] or ''
end

function p.class2(champname, set) -- returns: string
	local _ = p.class(champname, set)
    return _ and _[2] or ''
end

function p.abilityname(champname, set) -- returns: string
    return getData(champname, set).abilityname
end

function p.abilityicon(champname, set) -- returns: string
    return getData(champname, set).abilityicon
end

function p.passive(champname, set) -- returns: string
    return getData(champname, set).passive
end

function p.active(champname, set) -- returns: string
    return getData(champname, set).active
end

function p.hp(champname, set) -- returns: string
    return getData(champname, set).hp
end

function p.mana(champname, set) -- returns: string
    return getData(champname, set).mana
end

function p.startmana(champname, set) -- returns: string
    return getData(champname, set).startmana
end

function p.as(champname, set) -- returns: string
    return getData(champname, set).as
end

function p.ad(champname, set) -- returns: string
    return getData(champname, set).ad
end

function p.range(champname, set) -- returns: string
    return getData(champname, set).range
end

function p.arm(champname, set) -- returns: string
    return getData(champname, set).arm
end

function p.mr(champname, set) -- returns: string
    return getData(champname, set).mr
end

function p.behavior(champname, set) -- returns: string
    return getData(champname, set).behavior
end

function p.firstset(champname, set)
	return set or firstset(champname)
end

function p.lastset(champname, set)
	return set or lastset(champname)
end

return p
-- </pre>
-- [[Category:Lua]]