Module:Sandbox/User:Alsang: Difference between revisions

From Brighter Shores Wiki
Jump to navigation Jump to search
Content added Content deleted
(make table to check pages and recipes for stonemason)
No edit summary
Line 1:
p = {}
 
function p.main(args)
local variants = {'Basic','Moderate','Fine','Strong','Superior','Perfect'}
Line 14:
for i,item in ipairs(variants) do
for j,jtem in ipairs(weapons) do
table.insert(allWeapons,{namepagename=variants'[i[' .. weapons[j] .. ' (' .. weaponsvariants[ji] .. ')]]'})
table.insert(allWeapons,{name=weapons[j] .. ' (' .. variants[i] .. ')'})
end
end
Line 21 ⟶ 20:
for i,item in ipairs(allWeapons) do
local query = mw.smw.ask('[[Name::' .. item.namepagename .. ']]|?Uses facility #- = data|mainlabel=-')
if type(query)=='table' then
allWeapons[i].facility = query[1].data
end
local query = mw.smw.ask('[[Name::' .. item.namepagename .. ']]|?Activity XP #- = data|mainlabel=-')
if type(query)=='table' then
allWeapons[i].XP = query[1].data
end
local query = mw.smw.ask('[[Name::' .. item.namepagename .. ']]|?Activity duration #- = data|mainlabel=-')
if type(query)=='table' then
allWeapons[i].duration = query[1].data
end
local query = mw.smw.ask('[[Name::' .. item.namepagename .. ']]|?Activity KP #- = data|mainlabel=-')
if type(query)=='table' then
allWeapons[i].KP = query[1].data
end
local query = mw.smw.ask('[[Name::' .. item.namepagename .. ']]|?Recipe output #- = data|mainlabel=-')
if type(query)=='table' then
allWeapons[i].output = query[1].data
end
local query = mw.smw.ask(item.pagename .. '|?Name #- = data|mainlabel=-')
if type(query)=='table' then
allWeapons[i].name = query[1].data
end
Line 49 ⟶ 54:
local out = mw.html.create('table')
out:addClass('wikitable sortable')
out:tag('thtr')
out:wikitexttag('Pageth')
out :donewikitext('Page')
out :tagdone('th')
out:wikitexttag('Outputth')
out :donewikitext('Name')
out :tagdone('th')
out:wikitexttag('Facilityth')
out :donewikitext('Output')
out :tagdone('th')
out:wikitexttag('XPth')
:wikitext('Facility')
out:done()
out :tagdone('th')
out:wikitexttag('KPth')
out :donewikitext('XP')
out :tagdone('th')
out:wikitexttag('durationth')
out :donewikitext('KP')
out :done()
:tag('th')
out:wikitext(allWeapons[i].'duration')
out:done()
out:done()
for i,item in ipairs(allWeapons) do
local row = out:tag('tdtr')
out:wikitexttag('[[' .. item.name .. ']]td')
:wikitext(item.pagename)
out:done()
out :tagdone('td')
:tag('td')
out:wikitext(allWeapons[i].output)
out :donewikitext(item.name)
out :tagdone('td')
:tag('td')
out:wikitext(allWeapons[i].facility)
out :donewikitext(item.output)
out :tagdone('td')
out:wikitexttag(allWeapons[i].XP'td')
out :wikitext(allWeapons[i]item.facility)
out:done()
out :tagdone('td')
out:wikitexttag(allWeapons[i].KP'td')
out :donewikitext(item.XP)
out :tagdone('td')
:tag('td')
out:wikitext(allWeapons[i].duration)
out :donewikitext(item.KP)
:done()
:tag('td')
:wikitext(item.duration)
:done()
:done()
:done()
end

Revision as of 01:29, 5 December 2024

Module documentation
This documentation is transcluded from Module:Sandbox/User:Alsang/doc. [edit] [history] [purge]
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 rocks ={'flint','basalt','andesite','granite','deathstone'}
	local weapons = {'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 allWeapons = {}	
	for i,item in ipairs(variants) do
		for j,jtem in ipairs(weapons) do
			table.insert(allWeapons,{pagename='[[' .. weapons[j] .. ' (' .. variants[i] .. ')]]'})
		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
			allWeapons[i].facility = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Activity XP #- = data|mainlabel=-')
		if type(query)=='table' then
			allWeapons[i].XP = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Activity duration #- = data|mainlabel=-')
		if type(query)=='table' then
			allWeapons[i].duration = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Activity KP #- = data|mainlabel=-')
		if type(query)=='table' then
			allWeapons[i].KP = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Recipe output #- = data|mainlabel=-')
		if type(query)=='table' then
			allWeapons[i].output = query[1].data
		end
		
		local query = mw.smw.ask(item.pagename .. '|?Name #- = data|mainlabel=-')
		if type(query)=='table' then
			allWeapons[i].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('Name')
			:done()
			:tag('th')
				:wikitext('Output')
			:done()
			:tag('th')
				:wikitext('Facility')
			:done()
			:tag('th')
				:wikitext('XP')
			:done()
			:tag('th')
				:wikitext('KP')
			:done()
			:tag('th')
				:wikitext('duration')
			: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()
				
			:done()
			:done()
		end
		
	return out
	
	--for debugging
	--return '<pre>'..mw.text.jsonEncode(allWeapons, mw.text.JSON_PRETTY)..'</pre>'
	
end

return p