Module:Sandbox: Difference between revisions

MDFW - The Mystery Dungeon Tree of Information.
Jump to navigation Jump to search
(I'm stupid apparently and there's an extra td for some reason but It should be better now)
mNo edit summary
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--
--
-- Module:Rescue Team DX Dungeon Fainted Pokémon table
-- Module:Explorers TD Dungeon Traps table
--
--
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Line 9: Line 9:


function p.main(frame)
function p.main(frame)
local data = require("Module:Sandbox/test")
local data = require("Module:Explorers TD Trap Data Cell")
local metatable = {__index = function () return "" end}
local metatable = {__index = function () return "" end}
setmetatable(data, metatable)
setmetatable(data, metatable)
local args = frame.args
local args = frame.args
 
local output = mw.html.create()
local output = mw.html.create()
local header = mw.html.create()
local header = mw.html.create()
-- Header row
-- Header row
header
header
:tag('tr')
:tag('tr')
:tag('th'):addClass("templatePrimary"):attr("rowspan", "2" ):cssText("width: 10%"):wikitext("Sprite"):done()
:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext("Sprite"):done()
:tag('th'):addClass("templatePrimary"):attr("colspan", "2" ):cssText("width: 10%"):wikitext("{{RescueTeamDX|Pokémon}}"):done()
:tag('th'):attr("colspan", "2"):wikitext(frame:expandTemplate{title = "ExplorersTD", args = {"Trap"}}):done()
:tag('th'):addClass("templatePrimary"):attr("colspan", "2" ):attr("rowspan", "2" ):cssText("width: 20%"):wikitext("{{RescueTeamDX|Types}}"):done()
:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext("Floors"):done()
:tag('th'):addClass("templatePrimary"):attr("rowspan", "2" ):cssText("width: 10%"):wikitext("{{RescueTeamDX|Level}}"):done()
:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "Tt", args = {'Found in', 'Which version it is found.'}}):done()
:tag('th'):addClass("templatePrimary"):attr("rowspan", "2" ):cssText("width: 10%"):wikitext("Floors"):done()
:tag('td'):wikitext(recruit)
:tag('tr')
:tag('tr')
:tag('th'):addClass("templatePrimary"):cssText("width: 25%"):wikitext("English"):done()
:tag('th'):cssText("width: 20%"):wikitext("English"):done()
:tag('th'):addClass("templatePrimary"):cssText("width: 25%"):wikitext("Japanese"):done()
:tag('th'):cssText("width: 20%"):wikitext("Japanese"):done()


-- Data rows
-- Data rows
local rows = mw.html.create()
local rows = mw.html.create()
for i = 1, 150 do
local i = 1
 
while true do
local row = mw.html.create()
local row = mw.html.create()
local monsterArg = args["pokemon_" .. i]
local trapArg = args["trap_" .. i]
local floorsArg = args["floors_" .. i]
local floorsArg = args["floors_" .. i]
local levelArg = args["level_" .. i]
local versionArg = args["version_" .. i]
if not monsterArg and not floorsArg and not levelArg then
 
if not trapArg and not floorsArg and not versionArg then
break -- exit loop when no more rows are found
break -- exit loop when no more rows are found
end
end
local typeOne = data[monsterArg]["type1"] or ""
 
local typeTwo = data[monsterArg]["type2"] or ""
local verColor = ""
 
if string.lower(versionArg) == "darkness" then
verColor = 'background-color: #ef1d26'
elseif string.lower(versionArg) == "time" then
verColor = 'background-color: #1496d4'
end
 
row
row
:tag("tr"):addClass("monstersTableRow"):done()
:tag("tr"):done()
:tag("th"):addClass("templatePrimary"):wikitext(frame:expandTemplate{title = "RescueTeamDXSprite", args = {(monsterArg or ""), size = "50x50px"}}):done()
:tag("th"):wikitext(frame:expandTemplate{title = "ExplorersTDSprite", args = {(trapArg or ""), size = "50x50px"}}):done()
:tag("td"):addClass("templateSecondary"):wikitext(frame:expandTemplate{title = "RescueTeamDX", args = {(monsterArg or "")}})
:tag("td"):wikitext(frame:expandTemplate{title = "ExplorersTD", args = {(trapArg or "")}}):done()
:tag("td"):addClass("templateSecondary"):wikitext(data[monsterArg]["ja"])
:tag("td"):wikitext(data[trapArg]["ja"]):done()
:tag("td"):wikitext(floorsArg or frame:expandTemplate{title = "Research"}):done()
if typeTwo == nil or typeTwo == '' then
 
if versionArg == nil or versionArg == '' or string.lower(versionArg) == "false" or string.lower(versionArg) == "no" then
row
row
:tag('td'):addClass("templatePrimary"):attr("colspan", "2" ):wikitext(frame:expandTemplate{title = "RescueTeamDXType", args = {typeOne}}):done()
:tag('td'):wikitext("Both"):done()
else
else
row
row
:tag('td'):addClass("templatePrimary"):wikitext(frame:expandTemplate{title = "RescueTeamDXType", args = {typeOne}}):done()
:tag('td'):cssText(verColor):wikitext(versionArg):done()
:tag('td'):addClass("templatePrimary"):wikitext(frame:expandTemplate{title = "RescueTeamDXType", args = {typeTwo}}):done()
end


end
row
:tag("td"):addClass("templateSecondary"):wikitext(levelArg or ""):done()
:tag("td"):addClass("templateSecondary"):wikitext(floorsArg or ""):done()
rows
rows
:node(row)
:node(row)
:allDone()
:allDone()
 
i = i + 1
end
end
 
output
output
:tag('table'):addClass("templateTheme"):cssText("text-align: center; margin: auto; width: 50%")
:tag('table'):addClass("wikitable"):cssText("text-align: center; margin: auto; width: 50%;")
:node(header)
:node(header)
:node(rows)
:node(rows)
return tostring(output)
return tostring(output)


end
end


return p
return p

Latest revision as of 09:15, 26 January 2025



--------------------------------------------------------------------------------
--
--					Module:Explorers TD Dungeon Traps table
--
--------------------------------------------------------------------------------

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

function p.main(frame)
	local data = require("Module:Explorers TD Trap Data Cell")
	local metatable = {__index = function () return "" end}
	setmetatable(data, metatable)
	local args = frame.args

	local output = mw.html.create()
	local header = mw.html.create()

	-- Header row
	header
		:tag('tr')
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext("Sprite"):done()
			:tag('th'):attr("colspan", "2"):wikitext(frame:expandTemplate{title = "ExplorersTD", args = {"Trap"}}):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext("Floors"):done()
			:tag('th'):attr("rowspan", "2"):cssText("width: 20%"):wikitext(frame:expandTemplate{title = "Tt", args = {'Found in', 'Which version it is found.'}}):done()
		:tag('tr')
			:tag('th'):cssText("width: 20%"):wikitext("English"):done()
			:tag('th'):cssText("width: 20%"):wikitext("Japanese"):done()

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

	while true do
		local row = mw.html.create()
		local trapArg = args["trap_" .. i]
		local floorsArg = args["floors_" .. i]
		local versionArg = args["version_" .. i]

		if not trapArg and not floorsArg and not versionArg then
			break -- exit loop when no more rows are found
		end

		local verColor = ""

		if string.lower(versionArg) == "darkness" then
			verColor = 'background-color: #ef1d26'
		elseif string.lower(versionArg) == "time" then
			verColor = 'background-color: #1496d4'
		end

		row
			:tag("tr"):done()
				:tag("th"):wikitext(frame:expandTemplate{title = "ExplorersTDSprite", args = {(trapArg or ""), size = "50x50px"}}):done()
				:tag("td"):wikitext(frame:expandTemplate{title = "ExplorersTD", args = {(trapArg or "")}}):done()
				:tag("td"):wikitext(data[trapArg]["ja"]):done()
				:tag("td"):wikitext(floorsArg or frame:expandTemplate{title = "Research"}):done()

		if versionArg == nil or versionArg == '' or string.lower(versionArg) == "false" or string.lower(versionArg) == "no" then
			row
				:tag('td'):wikitext("Both"):done()
		else
			row
				:tag('td'):cssText(verColor):wikitext(versionArg):done()
		end

		rows
			:node(row)
			:allDone()

		i = i + 1
	end

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

end

return p