메뉴 여닫기
37
87
11
1.6천
Project ZETA Wiki
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
하나나 (토론 | 기여)님의 2026년 5월 22일 (금) 07:50 판

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

local p = {}
local codexData = mw.loadData('Module:CodexData/data')

local function dcat(data)
	if type(data) ~= 'table' then return data end
	local result = {}
	
	for index, value in ipairs(data) do
		if data[index + 1] == nil then
			table.insert(result, "'''" .. tostring(value) .. "'''")
		else
			if i == 4 then table.insert(result, "<span class='t-bold'>..value..</span>")
			else table.insert(result, value)
			end
		end
	end
	
	return table.concat(result, ' / ')
end

local funcs = {
    ['name']		= function(data) return data.name or '' end,
    ['title']		= function(data) return data.title or '' end,
    ['type']		= function(data) return data.type or '' end,
    ['cost']		= function(data) return data.cost or '' end,
    ['stat_n1']		= function(data) return data.stats and data.stats[1] and data.stats[1].name or '' end,
    ['stat_d1']		= function(data) return data.stats and data.stats[1] and dcat(data.stats[1].data) or '' end,
    ['stat_n2']		= function(data) return data.stats and data.stats[2] and data.stats[2].name or '' end,
    ['stat_d2']		= function(data) return data.stats and data.stats[2] and dcat(data.stats[2].data) or '' end,
    ['unlock_t2']	= function(data) return data.unlocks and data.unlocks.unlock_t2 and string.gsub(data.unlocks.unlock_t2, "{([%w_-]+):(.-)}", "<span class='t-%1'>%2</span>") or '' end,
    ['unlock_t4']   = function(data) return data.unlocks and data.unlocks.unlock_t4 and string.gsub(data.unlocks.unlock_t4, "{([%w_-]+):(.-)}", "<span class='t-%1'>%2</span>") or '' end,
    ['subd_n']		= function(data) return data.unlocks and data.unlocks.sub_desc and data.unlocks.sub_desc.name or '' end,
    ['subd_d']		= function(data) return data.unlocks and data.unlocks.sub_desc and string.gsub(data.unlocks.sub_desc.desc, "{([%w_-]+):(.-)}", "<span class='t-%1'>%2</span>") or '' end,
}

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

function p.get(frame)
	local args = frame.args
return funcs[args.datatype](getData(args.champname, codexData))
end

return p