Module:Sandbox/User:Alsang

From Brighter Shores Wiki
Revision as of 18:50, 5 December 2024 by Alsang (talk | contribs)
Jump to navigation Jump to search
Module documentation
This documentation is transcluded from Module:Sandbox/User:Alsang/doc. [edit] [history] [purge]
This module does not have any documentation. Please consider adding documentation at Module:Sandbox/User:Alsang/doc. [edit]
Module:Sandbox/User:Alsang's function main is invoked by Template:Sandbox/User:Alsang.

p = {}

function p.main(args)
	
	local variants = {'Basic','Moderate','Fine','Strong','Superior','Perfect'}
	local weapons1 = {'Hammerfist','Throwing Stones','Stone Slab Shield',
				'Stone Mace','Stone Discs','War Hammer',
				'Bolas','Stone Chunk Shield','Double Headed Hammer',
				'Throwing Clubs','Great Stone Mace',' Polished Stone Shield',
				'Throwing Hammers','Great Hammer','Sling'}
	local weapons2 = {'Hammerfist','Throwing Stones','Stone Slab Shield',
				'Stone Mace','Stone Discs','War Hammer',
				'Bolas','Stone Chunk Shield','Double Headed Hammer',
				'Throwing Clubs','Great Stone Mace',' Polished Stone Shield',
				'Throwing Hammers','Great Hammer','Sling'}
	local weapons3 = {'Hammerfist','Throwing Stones','Stone Slab Shield',
				'Stone Mace','Stone Discs','War Hammer',
				'Bolas','Stone Chunk Shield','Double Headed Hammer',
				'Throwing Clubs','Great Stone Mace',' Polished Stone Shield',
				'Throwing Hammers','Great Hammer','Sling'}
	
	weapons = weapons1
	
	local allWeapons = {}	
	for i,item in ipairs(variants) do
		for j,jtem in ipairs(weapons) do
			table.insert(allWeapons,{pagename='[[' .. jtem .. ' (' .. item .. ')]]',wrongname='[[' .. item .. ' ' .. jtem .. ']]'})
		end
	end

		
	for i,item in ipairs(allWeapons) do
			
		local query = mw.smw.ask(item.pagename .. '|?Uses facility #- = data|mainlabel=-')
		if type(query)=='table' then
			item.facility = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Activity XP #- = data|mainlabel=-')
		if type(query)=='table' then
			item.XP = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Activity duration #- = data|mainlabel=-')
		if type(query)=='table' then
			item.duration = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Activity KP #- = data|mainlabel=-')
		if type(query)=='table' then
			item.KP = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Recipe output #- = data|mainlabel=-')
		if type(query)=='table' then
			item.output = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Name #- = data|mainlabel=-')
		if type(query)=='table' then
			item.name = query[1].data
		end
		
	end
	
	local out = mw.html.create('table')
		:addClass('wikitable sortable')
		:tag('tr')
			:tag('th')
				:wikitext('Page')
			:done()
			:tag('th')
				:wikitext('Item name')
			:done()
			:tag('th')
				:wikitext('Recipe Output')
			:done()
			:tag('th')
				:wikitext('Facility')
			:done()
			:tag('th')
				:wikitext('XP')
			:done()
			:tag('th')
				:wikitext('KP')
			:done()
			:tag('th')
				:wikitext('duration')
			:done()
			:tag('th')
				:wikitext('Wrong Page (shouldnt exist)')
			:done()
		:done()
		
		for i,item in ipairs(allWeapons) do
			local row = out:tag('tr')
				:tag('td')
					:wikitext(item.pagename)
				:done()
				:tag('td')
					:wikitext(item.name)
				:done()
				:tag('td')
					:wikitext(item.output)
				:done()
				:tag('td')
					:wikitext(item.facility)
				:done()
				:tag('td')
					:wikitext(item.XP)
				:done()
				:tag('td')
					:wikitext(item.KP)
				:done()
				:tag('td')
					:wikitext(item.duration)
				:done()
				:tag('td')
					:wikitext(item.wrongname)
				:done()
				
			:done()
			:done()
		end
		
	return out
	
	--for debugging
	--return '<pre>'..mw.text.jsonEncode(allWeapons, mw.text.JSON_PRETTY)..'</pre>'
	
end

function p.stonetasks()
	
	local tasks = {
		'Snake Statue',
		'Uren Ornamental',
		'Orb Column',
		'Eagle Statue',
		'Lord Bust',
		'Birdbath Ornamental',
		'Pyramid Column',
		'Lion Statue',
		'Lady Bust',
		'Sundial Ornamental',
		'Ionic Column',
		'Cryoknight Statue',
		'King Bust',
		'Fountain Ornamental',
		'Acorn Column',
		'Hammermage Statue',
		'Queen Bust',
		'Guardian Statue',
		'Pineapple Column',
		'Lightning Born Statue'
		}
		
	local out = {}
	for i,item in ipairs(tasks) do
		table.insert(out,'[[' .. item .. ' Sculpture]]')
	end
		
	return table.concat(out,'<br>')

end

return p