Module:Adventure Squad Pokémon Dungeon table: Difference between revisions

MDFW - The Mystery Dungeon Tree of Information.
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--
--
-- Module:Adventure Squad Pokémon Locations table
-- Module:Adventure Squad Pokémon dungeons table
--
--
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Line 32: Line 32:
while true do
while true do
local row = mw.html.create()
local row = mw.html.create()
local locationArg = args["location_" .. i]
local dungeonArg = args["dungeon_" .. i]
local floorsArg = args["floors_" .. i]
local floorsArg = args["floors_" .. i]
local levelsArg = args["levels_" .. i]
local levelsArg = args["levels_" .. i]
Line 39: Line 39:
local versionArg = args["version_" .. i]
local versionArg = args["version_" .. i]


if not locationArg and not floorsArg and not levelsArg and not spawnrateArg and not recruitableArg and not versionArg then
if not dungeonArg and not floorsArg and not levelsArg and not spawnrateArg and not recruitableArg and not versionArg then
break -- exit loop when no more rows are found
break -- exit loop when no more rows are found
end
end
Line 45: Line 45:
row
row
:tag('tr'):done()
:tag('tr'):done()
:tag('td'):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {(locationArg or "")}}):done()
:tag('td'):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {(dungeonArg or "")}}):done()
:tag('td'):wikitext(floorsArg or frame:expandTemplate{title = "Research"}):done()
:tag('td'):wikitext(floorsArg or frame:expandTemplate{title = "Research"}):done()
:tag('td'):wikitext(levelsArg or frame:expandTemplate{title = "Research"}):done()
:tag('td'):wikitext(levelsArg or frame:expandTemplate{title = "Research"}):done()

Revision as of 00:59, 9 November 2024

Documentation for this module may be created at Module:Adventure Squad Pokémon Dungeon table/doc

--------------------------------------------------------------------------------
--
--					Module:Adventure Squad Pokémon dungeons table
--
--------------------------------------------------------------------------------

local p = {}
local mw = require('mw')

function p.main(frame)
	local args = frame.args

	local output = mw.html.create()
	local header = mw.html.create()
	-- Header row
	header
		:tag('tr')
			:tag('th'):attr("colspan", "2"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Dungeon"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Floor", "Floors"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Level"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Spawn Rate"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Recruiting", "Recruitable"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Version"}}):done()
			:tag('tr'):done()
			:tag('th'):cssText("width: 15%"):wikitext("English"):done()
			:tag('th'):cssText("width: 15%"):wikitext("Japanese"):done()

	-- Data rows
	local rows = mw.html.create()
	local i = 1

	while true do
		local row = mw.html.create()
		local dungeonArg = args["dungeon_" .. i]
		local floorsArg = args["floors_" .. i]
		local levelsArg = args["levels_" .. i]
		local spawnrateArg = args["spawnrate_" .. i]
		local recruitableArg = args["recruitable_" .. i]
		local versionArg = args["version_" .. i]

		if not dungeonArg and not floorsArg and not levelsArg and not spawnrateArg and not recruitableArg and not versionArg then
			break -- exit loop when no more rows are found
		end

		row
			:tag('tr'):done()
				:tag('td'):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {(dungeonArg or "")}}):done()
				:tag('td'):wikitext(floorsArg or frame:expandTemplate{title = "Research"}):done()
				:tag('td'):wikitext(levelsArg or frame:expandTemplate{title = "Research"}):done()
				:tag('td'):wikitext(spawnrateArg or frame:expandTemplate{title = "Research"}):done()
				:tag('td'):wikitext(recruitableArg or frame:expandTemplate{title = "Research"}):done()
				:tag('td'):wikitext(versionArg or frame:expandTemplate{title = "Research"}):done()

		if recruitableArg == nil or recruitableArg == '' or string.lower(recruitableArg) == "false" or string.lower(recruitableArg) == "no" then
			row
				:tag('td'):cssText("background: #F2CECE; color: maroon"):wikitext("✗"):done()
		else
			row
				:tag('td'):cssText("background: #CEF2CE; color: darkblue"):wikitext("✓"):done()
		end

		rows
			:node(row)
			:allDone()

		i = i + 1
	end

	output
		:tag('table'):addClass("MDWiki"):cssText("text-align: center; margin: auto; width: 50%;")
			:node(header)
			:node(rows)
	return tostring(output)

end

return p