Module:ItemsByStat: Difference between revisions
Jump to navigation
Jump to search
SerpentofSet (talk | contribs) mNo edit summary |
SerpentofSet (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
local selectByStat = function(stat) | local selectByStat = function(stat) | ||
-- List properties to grab and set up data structure to hold values | -- List properties to grab and set up data structure to hold values | ||
local inKeys = {"Name","Tier","Cost","Slot",stat} | local inKeys = {"Name","Tier","Cost","Slot",stat,"Components"} | ||
local outData = {} | local outData = {} | ||
for x=1,#inKeys do | for x=1,#inKeys do | ||
Line 12: | Line 12: | ||
local i = 1 | local i = 1 | ||
for m,itemData in pairs(AllItemData) do | for m,itemData in pairs(AllItemData) do | ||
if itemData[stat] ~= nil then -- If Item has given stat in its keys, | if itemData[stat] ~= nil and itemData[stat] ~= "0" then -- If Item has given stat in its keys, | ||
for x = 1,#inKeys do | for x = 1,#inKeys do | ||
outData[x][i] = itemData[inKeys[x]] -- grab stat and other values | outData[x][i] = itemData[inKeys[x]] -- grab stat and other values | ||
Line 21: | Line 21: | ||
return outData | return outData | ||
end | end | ||
local colorBySlot = {} | |||
colorBySlot["Weapon"] = "#A36202" | |||
colorBySlot["Vitality"] = "#507A11" | |||
colorBySlot["Spirit"] = "#704491" | |||
p.tablefy = function(frame) | p.tablefy = function(frame) | ||
local stat = frame.args[1] | local stat = frame.args[1] | ||
local tableData = selectByStat(stat) | local tableData = selectByStat(stat) | ||
local outString = '{| class="wikitable sortable"\n|-\n!Item!!Tier!!Cost!!Slot!!Value | local outString = '{| class="wikitable sortable"\n|-\n!Item!!Tier!!Cost!!Slot!!Value\n' | ||
for i=1,#tableData[1] do | for i=1,#tableData[1] do | ||
outString = outString.. | outString = outString..'|-style="background: #A36202;"\n|{{ItemIcon|'..tableData[1][i].."}}||"..tableData[2][i].."||"..tableData[3][i].."||"..tableData[4][i].."||"..tableData[5][i].."\n" | ||
end | end | ||
return outString.."|}" | return outString.."|}" |
Revision as of 17:18, 27 September 2024
Documentation for this module may be created at Module:ItemsByStat/doc
local p = {}
local AllItemData = mw.loadJsonData("Data:ItemData.json")
local selectByStat = function(stat)
-- List properties to grab and set up data structure to hold values
local inKeys = {"Name","Tier","Cost","Slot",stat,"Components"}
local outData = {}
for x=1,#inKeys do
outData[x] = {}
end
local i = 1
for m,itemData in pairs(AllItemData) do
if itemData[stat] ~= nil and itemData[stat] ~= "0" then -- If Item has given stat in its keys,
for x = 1,#inKeys do
outData[x][i] = itemData[inKeys[x]] -- grab stat and other values
end
i = i+1
end
end
return outData
end
local colorBySlot = {}
colorBySlot["Weapon"] = "#A36202"
colorBySlot["Vitality"] = "#507A11"
colorBySlot["Spirit"] = "#704491"
p.tablefy = function(frame)
local stat = frame.args[1]
local tableData = selectByStat(stat)
local outString = '{| class="wikitable sortable"\n|-\n!Item!!Tier!!Cost!!Slot!!Value\n'
for i=1,#tableData[1] do
outString = outString..'|-style="background: #A36202;"\n|{{ItemIcon|'..tableData[1][i].."}}||"..tableData[2][i].."||"..tableData[3][i].."||"..tableData[4][i].."||"..tableData[5][i].."\n"
end
return outString.."|}"
end
return p