Module:RoomLayout

local p = {} local rtable = require( 'Module:Table' )

local function wall( floor, align, pos1, pos2, size ) return ' ' end

local function corner( floor, side, pos1, pos2 ) return ' ' end

local function doors( doors, visible ) local ret = '' local door = rtable.trimAll( mw.text.split( doors, '%s' ) ) for i, j in pairs( door ) do		door[j] = true end local left = ( visible.sm == 'v' ) and 91 or 195 local top = ( visible.sm == 'h' ) and 65 or 117 if ( door.n or door.n1 ) and visible.n1 then ret = ret .. ' ' end if door.n2 and visible.n2 then ret = ret .. ' ' end if ( door.w or door.w1 ) and visible.w1 then ret = ret .. ' ' end if door.w2 and visible.w2 then ret = ret .. ' ' end if ( door.e or door.e1 ) and visible.e1 then ret = ret .. ' ' end if door.e2 and visible.e2 then ret = ret .. ' ' end if ( door.s or door.s1 ) and visible.s1 then ret = ret .. ' ' end if door.s2 and visible.s2 then ret = ret .. ' ' end return ret end

local function tile( f, content, line, column ) content = string.lower( content ) local file for k, l in pairs( require( 'Module:RoomLayout/icons' ) ) do		if content == k then file = l			break end end if file then local width = f:callParserFunction( '#imgw', 'File:' .. file[1] ) local height = f:callParserFunction( '#imgh', 'File:' .. file[1] ) local left = math.floor( 52 + 26*column-13 - width/2 ) local top = 0 if tonumber( height ) >= 52 then top = 52 + 26*line - height else top = math.floor( 52 + 26*line-13 - height/2 ) end return ' ' else return '' end end

function p.main( f ) local args = rtable.trimAll( rtable.getArgs( f ) ) args.size = string.lower( args.size or 'normal' ) args.doors = string.lower( args.doors or 'n s w e' ) local flr = string.lower( args.floor or 'basement' ) -- Normal room local room = ' ' if args.size == 'normal' or args.size == 'n' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', w1 = '2', e1 = '388', s1 = '232' } ) -- Small room elseif args.size == 'small horiz' or args.size == 'sh' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'bottom', 'd' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'bottom', 'd' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { sm = 'h', w1 = '2', e1 = '388' } ) elseif args.size == 'small vert' or args.size == 'sv' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'e' ) .. wall( flr, 'horiz', 'top', 'right', 'f' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'e' ) .. wall( flr, 'horiz', 'bottom', 'right', 'f' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { sm = 'v', n1 = '2', s1 = '232' } ) -- Hallway elseif args.size == 'hall horiz' or args.size == 'hh' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'left', 'd' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'bottom', 'd' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'bottom', 'd' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'left', 'd' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { sm = 'h', w1 = '2', e1 = '726' } ) elseif args.size == 'hall vert' or args.size == 'hv' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'e' ) .. wall( flr, 'horiz', 'top', 'right', 'f' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'd' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'd' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'e' ) .. wall( flr, 'horiz', 'bottom', 'right', 'f' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { sm = 'v', n1 = '2', s1 = '414' } ) -- Double room elseif args.size == 'double horiz' or args.size == 'dh' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'left', 'd' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'left', 'd' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', n2 = '2', w1 = '2', e1 = '726', s1 = '232', s2 = '232' } ) elseif args.size == 'double vert' or args.size == 'dv' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'd' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'd' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', w1 = '2', w2 = '2', e1 = '388', e2 = '388', s1 = '414' } ) -- Triple room elseif args.size == 'triple top left' or args.size == 'ttl' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'left', 'd' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'd' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'int', 'bottom', 'right' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'd' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'right', 'bottom', 'd' ) .. wall( flr, 'vert', 'right', 'bottom', 'a' ) .. '  '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', n2 = '2', w1 = '2', w2 = '2', e1 = '726', e2 = '388', s1 = '414', s2 = '232' } ) elseif args.size == 'triple top right' or args.size == 'ttr' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'left', 'd' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'b' ) .. wall( flr, 'horiz', 'bottom', 'right', 'd' ) .. wall( flr, 'horiz', 'bottom', 'right', 'c' ) .. wall( flr, 'horiz', 'bottom', 'right', 'c' ) .. corner( flr, 'int', 'bottom', 'left' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'bottom', 'd' ) .. wall( flr, 'vert', 'left', 'bottom', 'a' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'd' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. ' ' .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', n2 = '2', w1 = '2', w2 = '340', e1 = '726', e2 = '726', s1 = '232', s2 = '414' } ) elseif args.size == 'triple bottom left' or args.size == 'tbl' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'd' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'top', 'd' ) .. ' '		room = room .. corner( flr, 'int', 'top', 'right' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'd' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'left', 'd' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', n2 = '184', w1 = '2', w2 = '2', e1 = '388', e2 = '726', s1 = '414', s2 = '414' } ) elseif args.size == 'triple bottom right' or args.size == 'tbr' then room = room .. ' '		room = room .. ' ' .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'top', 'd' ) .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'b' ) .. wall( flr, 'horiz', 'top', 'right', 'd' ) .. wall( flr, 'horiz', 'top', 'right', 'c' ) .. wall( flr, 'horiz', 'top', 'right', 'c' ) .. corner( flr, 'int', 'top', 'left' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'd' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'left', 'd' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '184', n2 = '2', w1 = '340', w2 = '2', e1 = '726', e2 = '726', s1 = '414', s2 = '414' } ) -- Quadruple room elseif args.size == 'quadruple' or args.size == 'q' then room = room .. ' '		room = room .. corner( flr, 'ext', 'top', 'left' ) .. wall( flr, 'horiz', 'top', 'left', 'a' ) .. wall( flr, 'horiz', 'top', 'left', 'd' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'left', 'c' ) .. wall( flr, 'horiz', 'top', 'right', 'b' ) .. corner( flr, 'ext', 'top', 'right' ) room = room .. ' ' .. wall( flr, 'vert', 'left', 'top', 'a' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'c' ) .. wall( flr, 'vert', 'left', 'top', 'd' ) .. wall( flr, 'vert', 'left', 'bottom', 'b' ) .. ' '		room = room .. ' '		room = room .. ' ' .. wall( flr, 'vert', 'right', 'top', 'a' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'c' ) .. wall( flr, 'vert', 'right', 'top', 'd' ) .. wall( flr, 'vert', 'right', 'bottom', 'b' ) .. ' '		room = room .. corner( flr, 'ext', 'bottom', 'left' ) .. wall( flr, 'horiz', 'bottom', 'left', 'a' ) .. wall( flr, 'horiz', 'bottom', 'left', 'd' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'left', 'c' ) .. wall( flr, 'horiz', 'bottom', 'right', 'b' ) .. corner( flr, 'ext', 'bottom', 'right' ) room = room .. doors( args.doors, { n1 = '2', n2 = '2', w1 = '2', w2 = '2', e1 = '726', e2 = '726', s1 = '414', s2 = '414' } ) end -- Room content local letters = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n' } local current = 1 for m=1, 7, 1 do		for n=1, 13, 1 do			if args[letters[m]..n] then room = room .. tile( f, args[letters[m]..n], m, n ) end current = current + 1 end end return room .. ' ' end

return p