Module:Mapcheck: Difference between revisions

From Heroes 3 wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
if frame.args.map_link then
if frame.args.map_link then
maplink = frame.args.map_link..'|'
maplink = frame.args.map_link..'|'
end
mapsize = ''
if frame.args.size then
mapsize = '('..frame.args.size..')'
end
end
compile = ''
compile = ''
none = '***'
none = '***'
filelevels = {' '}
filelevels = {' '}
if frame.args.underground == 'enabled' then
if not frame.args.underground or frame.args.underground == 'enabled' then
table.insert(filelevels, ' underground ')
table.insert(filelevels, ' underground ')
end
end
Line 33: Line 37:
end
end
compile = mw.ustring.sub(compile, 0, string.len(compile)-2)
compile = mw.ustring.sub(compile, 0, string.len(compile)-2)
compile = '[['..maplink..frame.args.scenario..']]'..none..': '..compile
compile = '[['..maplink..frame.args.scenario..']]'..mapsize..none..': '..compile
return compile
return compile
end
end

Revision as of 02:39, 20 December 2023

Usage

{{#invoke:mapcheck|mapcheck|name=A New Day Tomorrow}}

local p = {} --p stands for package

function p.mapcheck(frame)
	maplink = ''
	if frame.args.map_link then
		maplink = frame.args.map_link..'|'
	end
	mapsize = ''
	if frame.args.size then
		mapsize = '('..frame.args.size..')'
	end
	compile = ''
	none = '***'
	filelevels = {' '}
	if not frame.args.underground or frame.args.underground == 'enabled' then
		table.insert(filelevels, ' underground ')
	end
	for _, filelevel in pairs(filelevels) do
		for _, filesize in pairs({'tiny', 'small', 'medium', 'large', 'huge'}) do
			for _, filetype in pairs({'png', 'gif', 'jpg'}) do
				filename = frame.args.scenario..filelevel..'map '..filesize..'.'..filetype
				filename = string.gsub(filename, ' ', '_')
				fileexists = frame:expandTemplate{title = 'exist', args = {'file:'..filename, 'yes'}}
				underground = ''
				if filelevel == ' underground ' then
					underground = '(u)'
				end
				if fileexists == 'yes' then
					none = ''
					dimensions = getDimensions(filename)
					compile = compile..'[[:file:'..filename..'|'..filesize..underground..'('..dimensions..')'..']], '
				elseif filetype == 'png' then
					compile = compile..frame:expandTemplate{title='extLink', args={link='https://heroes.thelazy.net/index.php?title=Special:Upload&wpDestFile='..filename, title=filesize..underground}}..', '
				end
			end
		end
	end
	compile = mw.ustring.sub(compile, 0, string.len(compile)-2)
	compile = '[['..maplink..frame.args.scenario..']]'..mapsize..none..': '..compile
	return compile
end

function getDimensions(filename)
	map = mw.title.makeTitle(6, filename)
	-- if map.file.width then
		-- if map.file.height then
    		return map.file.height..'x'..map.file.width
		-- end
	-- end
	-- return ''
end

return p