Module:Entity indicator

From Paquerette Down the Bunburrows Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:Entity indicator/doc

local p = {}

p.styleTable = {
	["W"] = { name = "pink", children = {
		["13"] = { name = "temple" },
		["14"] = { name = "temple" },
		["15"] = { name = "temple" },
		["16"] = { name = "temple" },
		["17"] = { name = "temple" },
		["18"] = { name = "temple" },
		["19"] = { name = "hell" },
		["20"] = { name = "hell" },
		["21"] = { name = "hell" },
		["22"] = { name = "hell-temple" },
		["23"] = { name = "hell-temple" },
		["24"] = { name = "hell-temple" },
		["25"] = { name = "hell-temple" },
		["26"] = { name = "hell-temple" },
		["27"] = { name = "hell-temple" },
	} },
	["N"] = { name = "aquatic", children = {
		["12"] = { name = "temple" },
		["13"] = { name = "temple" },
		["14"] = { name = "temple" },
		["15"] = { name = "temple" },
		["16"] = { name = "temple" },
		["17"] = { name = "temple" },
		["18"] = { name = "temple" },
		["19"] = { name = "hell" },
		["20"] = { name = "hell" },
		["21"] = { name = "hell" },
		["22"] = { name = "hell" },
		["23"] = { name = "hell" },
		["24"] = { name = "hell-temple" },
		["25"] = { name = "hell-temple" },
		["26"] = { name = "hell-temple" },
		["27"] = { name = "hell-temple" },
	} },
	["C"]= { name = "hay", children = {
		["13"] = { name = "temple" },
		["14"] = { name = "hell" },
		["15"] = { name = "hell" },
		["16"] = { name = "hell" },
		["17"] = { name = "hell" },
		["18"] = { name = "hell" },
		["19"] = { name = "hell" },
		["20"] = { name = "hell" },
		["21"] = { name = "hell" },
		["22"] = { name = "hell" },
		["23"] = { name = "hell" },
		["24"] = { name = "hell" },
		["25"] = { name = "hell-temple" },
		["26"] = { name = "hell-temple" },
		["27"] = { name = "gold" },
	} },
	["S"]= { name = "ghostly", children = {
		["13"] = { name = "temple" },
		["14"] = { name = "temple" },
		["15"] = { name = "temple" },
		["16"] = { name = "temple" },
		["17"] = { name = "temple" },
		["18"] = { name = "temple" },
		["19"] = { name = "temple" },
		["20"] = { name = "temple" },
		["21"] = { name = "hell" },
		["22"] = { name = "hell" },
		["23"] = { name = "hell" },
		["24"] = { name = "hell" },
		["25"] = { name = "hell-temple" },
		["26"] = { name = "hell-temple" },
		["27"] = { name = "hell-temple" },
	} },
	["E"]= { name = "purple", children = {
		["13"] = { name = "temple" },
		["14"] = { name = "hell" },
		["15"] = { name = "hell" },
		["16"] = { name = "hell" },
		["17"] = { name = "hell" },
		["18"] = { name = "hell" },
		["19"] = { name = "hell" },
		["20"] = { name = "hell" },
		["21"] = { name = "hell" },
		["22"] = { name = "hell" },
		["23"] = { name = "hell-temple" },
		["24"] = { name = "hell-temple" },
		["25"] = { name = "hell-temple" },
		["26"] = { name = "hell-temple" },
		["27"] = { name = "hell-temple" },
	} },
	["NW?"]= { name = "void" },
	["NE?"]= { name = "void" },
	["SW?"]= { name = "void" },
	["SE?"]= { name = "void" },
	["Surface"]= { name = "pink" },
}

function p.append(frame, index, styles)
	local text = frame.args[index]
	if not text then return end
	local style = styles and styles[text]
	local suffix = p.append(frame, index + 1, style and style.children)
	return frame:expandTemplate{
		title = "style",
		args = {
			style and style.name,
			frame:expandTemplate{
				title = "highlight",
				args = {
					(suffix and text .. "-" .. suffix) or text
				}
			}
		}
	}
end

function p.create(frame)
	return p.append(frame, 1, p.styleTable)
end

return p