FANDOM


--<pre>
-- http://dev.wikia.com/wiki/Lua_templating/Reference_manual/Scribunto_libraries
-- http://dev.wikia.com/wiki/Lua_reference_manual/Standard_libraries
local base = _G
local util = base.require("Dev:Utility") -- http://dev.wikia.com/wiki/Module:Utility
local table = base.require("table")
local string = base.require("string")
 
local p = {}
 
--- Renders the header
function p.header(frame)
    local args = util.getArgs(frame)
    return frame:expandTemplate{title = "Quest", args = args}
end
 
--- Renders the character list
function p.characters(frame)
    local args = util.getArgs(frame)
 
    local out = {}
    table.insert(out, "==Characters==\n")
 
    local i = 1
    while args[i] do
        table.insert(out, "* " .. args[i] .. "\n")
        i = i + 1
    end
 
    return table.concat(out)
end
 
--- Renders a single option
function p.option(frame)
    local args = util.getArgs(frame)
    return frame:expandTemplate{title = "Quest/option", args = args}
end
 
--- Renders the options
-- Arguments have the format "index:argument", with index starting at 1
function p.options(frame)
    local args = util.getArgs(frame)
    local options = {}
 
    for k, value in base.pairs(args) do
        local i, name = string.match(k, "^(%d+):(.*)$")
        if i ~= nil and name ~= nil then
            i = base.tonumber(i)
            if options[i] == nil then
                options[i] = {}
            end
 
            options[i][name] = value
        end
    end
 
    local out = {}
    table.insert(out, "==Options==\n")
    for i, args in base.ipairs(options) do
        local txt = frame:expandTemplate{title = "Quest/option", args = args}
        table.insert(out, txt)
    end
 
    return table.concat(out, "\n\n")
end
 
function p.test(frame)
    return '<pre>' .. base.require("Dev:Inspect").inspect(util.getArgs(frame)) .. '</pre>'
end
 
return p
--</pre>
-- [[Category:Lua modules]]

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.