Module:BookData
Jump to navigation
Jump to search
Module documentation: Module:BookData/doc
Data stored in Module:BookData/Data
Pages using this module
Stores Book data.
Functions
getData
Outputs a book's property
{{#invoke:BookData|getData|name|260004}}
Book of Olivier
listCards
Lists a book's combat pages and count
{{#invoke:BookData|listCards |260004}}
Afterimage ×5
Brace Up ×5
Forward March ×5
Augury Kick ×2
Celestial Spear ×2
Confrontation ×2
Godspeed ×2
Unyielding Strike ×2
Divinatory Impact ×3
Double-edged Rencounter ×3
Impugnatio Ultima ×1
True Trigram Formation ×1
listKeypages
Lists a book's key pages and count
{{#invoke:BookData|listKeypages|260004}}
Olivier’s Page ×1
local getArgs = require('Module:Arguments').getArgs
local p = {}
local bookData = mw.loadData('Module:BookData/Data')
function p.getData(frame)
if not frame then return '' end
local ID = frame.args[2]
local property = frame.args[1]
if not (bookData[ID]) then return 'book ' .. ID .. ' not found' end
if not (bookData[ID][property]) then return '' end
return bookData[ID][property] or ''
end
function p.listCards(frame)
if not frame then return 'error: args missing' end
local ID = frame.args[1]
local array = bookData[ID]['cards']
if array == '' then return 'None.' end
local stringtable = {}
for k,v in pairs(array) do
table.insert(stringtable,"{{Card|" .. v[1] .."|noimg}}" .. " ×" .. v[2])
end
s = table.concat(stringtable, " <br> \n")
return frame:preprocess(s)
end
function p.listKeypages(frame)
if not frame then return 'error: args missing' end
local ID = frame.args[1]
if not bookData[ID]['keypages'] then return 'None.' end
local array = bookData[ID]['keypages']
if array == '' then return 'None.' end
local stringtable = {}
for k,v in pairs(array) do
table.insert(stringtable,"{{KeyPage|"..v[1] .."}}" .. " ×" .. v[2])
end
s = table.concat(stringtable, " <br> \n")
return frame:preprocess(s)
end
return p