Module:Sandbox/User:Alsang: Difference between revisions

From Brighter Shores Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
Tag: Manual revert
No edit summary
Line 2: Line 2:


function p.main()
function p.main()
return nil
end

function p.stone()
return p.makeTable('stone')
end

function p.metal()
return p.makeTable('metal')
end

function p.bone()
return p.makeTable('bone')
end
function p.makeTable(args)
local variants = {'basic','moderate','fine','strong','superior','perfect'}
local variants2 = {'Basic','Moderate','Fine','Strong','Superior','Perfect'}
local weaponsStone = {
local weaponsStone = {
'Hammerfist',
'Hammerfist',
Line 69: Line 51:
'Poleaxe',
'Poleaxe',
'Heavy Crossbow'}
'Heavy Crossbow'}
if args=='stone' then
weapons = weaponsStone
elseif args=='metal' then
weapons = weaponsMetal
elseif args=='bone' then
weapons = weaponsBone
else
return nil
end
local allWeapons = {}
for j,wep in ipairs(weapons) do
table.insert(allWeapons,{page='[[' .. wep .. ']]'})
end

for i,var in ipairs(variants) do
for j,wep in ipairs(weapons) do
table.insert(allWeapons,{page='[[' .. wep .. ' (' .. var .. ')]]',wrong='[[' .. wep .. ' (' .. variants2[i] .. ')]]',redirect='[[' .. variants2[i] .. ' ' .. wep .. ']]'})
end
end
for i,item in ipairs(allWeapons) do
local query = mw.smw.ask(item.page .. '|?Name #- = data|mainlabel=-')
if type(query)=='table' then
item.item = query[1].data
end
local query = mw.smw.ask(item.page .. '|?Uses facility #- = data|mainlabel=-')
if type(query)=='table' then
item.facility = query[1].data
end
end
local out = mw.html.create('table')
local out = mw.html.create('table')
Line 110: Line 56:
:tag('tr')
:tag('tr')
:tag('th')
:tag('th')
:wikitext('Name of page')
:wikitext('Stone')
:done()
:done()
:tag('th')
:tag('th')
:wikitext('Item on page')
:wikitext('Metal')
:done()
:done()
:tag('th')
:tag('th')
:wikitext('Recipe Facility')
:wikitext('Bone')
:done()
:tag('th')
:wikitext('Redirect page')
:done()
:tag('th')
:wikitext('Incorrect page name')
:done()
:done()
:done()
:done()
for i,item in ipairs(allWeapons) do
for i,item in ipairs(weaponsStone) do
local row = out:tag('tr')
local row = out:tag('tr')
:tag('td')
:tag('td')
:wikitext(item.page)
:wikitext('[[' .. weaponsStone[i] .. ']]')
:done()
:done()
:tag('td')
:tag('td')
:wikitext(item.item)
:wikitext('[[' .. weaponsMetal[i] .. ']]')
:done()
:done()
:tag('td')
:tag('td')
:wikitext(item.facility)
:wikitext('[[' .. weaponsBone[i] .. ']]')
:done()
:tag('td')
:wikitext(item.redirect)
:done()
:tag('td')
:wikitext(item.wrong)
:done()
:done()
:done()
:done()
:done()
end
end

Revision as of 00:11, 9 December 2024

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()
	
	local weaponsStone = {
		'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 weaponsMetal = {
		'Rapier ',
		'Throwing Twinblades',
		'Metal Kite Shield',
		'Flanged Mace',
		'Throwing Rings',
		'Shortsword',
		'Metal Javelins',
		'Metal Heater Shield',
		'Longsword',
		'Throwing Knives',
		'Broadsword',
		'Metal Buckler',
		'Throwing Axes',
		'Battleaxe',
		'Metal Bow'}
	local weaponsBone = {
		'Truncheon',
		'Blowpipe',
		'Wooden Round Shield',
		'Cudgel',
		'Javelins',
		'Club',
		'Light Crossbow',
		'Wooden Square Shield',
		'Quarterstaff',
		'Recurve Bow',
		'Spear',
		'Wooden Hexagon Shield',
		'Longbow',
		'Poleaxe',
		'Heavy Crossbow'}
	
	local out = mw.html.create('table')
		:addClass('wikitable sortable')
		:tag('tr')
			:tag('th')
				:wikitext('Stone')
			:done()
			:tag('th')
				:wikitext('Metal')
			:done()
			:tag('th')
				:wikitext('Bone')
			:done()
		:done()
		
		for i,item in ipairs(weaponsStone) do
			local row = out:tag('tr')
				:tag('td')
					:wikitext('[[' .. weaponsStone[i] .. ']]')
				:done()
				:tag('td')
					:wikitext('[[' .. weaponsMetal[i] .. ']]')
				:done()
				:tag('td')
					:wikitext('[[' .. weaponsBone[i] .. ']]')
				:done()
				
			:done()
		end
		
	return out
	
end

return p