Editing Module:Sandbox/User:Alsang
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
p = {} |
|||
function p.main() |
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 |
|||
function p.intermediates() |
|||
return |
|||
local allRecipes = mw.smw.ask('[[Recipe JSON::~*]]|? #- = name|?Uses facility = facility|?-Sold item.Sold by #- = seller|?Variant of = variant|limit=1200') |
|||
local allFacilities = {'Standard Potion Station', |
|||
'Potent Potion Station', |
|||
'Passive Potion Station', |
|||
'Workbench', |
|||
'One Handed Ranged Workbench (stonemason)', |
|||
'One Handed Melee Workbench (stonemason)', |
|||
'Two Handed Ranged Workbench (stonemason)', |
|||
'Two Handed Melee Workbench (stonemason)', |
|||
'Shield Work Rock', |
|||
'Stoneware Bench', |
|||
'One Handed Ranged Workbench (bonewright)', |
|||
'One Handed Melee Workbench (bonewright)', |
|||
'Two Handed Ranged Workbench (bonewright)', |
|||
'Two Handed Melee Workbench (bonewright)', |
|||
'Shield Vice', |
|||
'Knickknacks Workbench', |
|||
'Bone Grinder', |
|||
'Goblin Forge', |
|||
'Gnome Forge', |
|||
'Jewelry Bench'} |
|||
local allShops = {'Head Chef (shop)','Timber Merchant Shop','Leather stall','Leather Goods','Waiter'} |
|||
local intermediateRecipes = {} |
|||
for _,item in ipairs(allRecipes) do |
|||
intermediate = true |
|||
-- check facility |
|||
for _,facility in ipairs(allFacilities) do |
|||
if item.facility==facility then |
|||
intermediate = false |
|||
end |
|||
-- check shops |
|||
for _,shop in ipairs(allShops) do |
|||
if item.seller==shop then |
|||
intermediate = false |
|||
end |
|||
if type(item.seller)=='table' then |
|||
for _,seller in ipairs(item.seller) do |
|||
if seller==shop then |
|||
intermediate = false |
|||
end |
|||
end |
|||
end |
|||
end |
|||
end |
|||
if intermediate then |
|||
table.insert(intermediateRecipes,item) |
|||
end |
|||
end |
|||
local out = mw.html.create('table') |
|||
:addClass('wikitable sortable') |
|||
:tag('tr') |
|||
:tag('th') |
|||
:wikitext('Page') |
|||
:done() |
|||
-- :tag('th') |
|||
-- :wikitext('Variant') |
|||
-- :done() |
|||
:done() |
|||
for i,item in ipairs(intermediateRecipes) do |
|||
local row = out:tag('tr') |
|||
:tag('td') |
|||
:wikitext('[[' .. item.name .. ']]') |
|||
:done() |
|||
-- :tag('td') |
|||
-- :wikitext(item.variant) |
|||
-- :done() |
|||
:done() |
|||
end |
|||
return out |
|||
end |
end |