Module:Mapcheck: Difference between revisions

From Heroes 3 wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 12: Line 12:
compile = ''
compile = ''
none = '**'
none = '**'
none_u = '**'
none_u = ''
filelevels = {' '}
filelevels = {' '}
if not frame.args.underground or frame.args.underground == 'enabled' then
if not frame.args.underground or frame.args.underground == 'enabled' then
table.insert(filelevels, ' underground ')
table.insert(filelevels, ' underground ')
none_u = '**'
end
end
for _, filelevel in pairs(filelevels) do
for _, filelevel in pairs(filelevels) do

Revision as of 04:01, 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 = '**'
	none_u = ''
	filelevels = {' '}
	if not frame.args.underground or frame.args.underground == 'enabled' then
		table.insert(filelevels, ' underground ')
		none_u = '**'
	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.name..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
					if filelevel == ' underground ' then
						underground = '(u)'
						none_u = ''
					else
						none = ''
					end
					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.name..']]'..mapsize..none..none_u..': '..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