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

MDFW - The Mystery Dungeon Tree of Information.
Jump to navigation Jump to search
(Created page with "-------------------------------------------------------------------------------- -- -- Module:Rescue Team Pokémon Locations 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{...")
 
No edit summary
Line 36: Line 36:
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 then
if not locationArg 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

Revision as of 00:21, 9 November 2024

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

--------------------------------------------------------------------------------
--
--					Module:Rescue Team Pokémon Locations 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 = {"Location"}}):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'):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "RescueTeam", args = {"Recruiting", "Recruitable"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "AdventureSquad", args = {"Version"}}):done()

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

	while true do
		local row = mw.html.create()
		local locationArg = args["location_" .. 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 locationArg 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 = "RescueTeam", args = {(locationArg 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: darkgreen"):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