FANDOM


--<nowiki>
 
local p = {}
 
local games = {
    ["AR"] = "All Roads",
    ["D20"] = "Fallout Pen and Paper d20",
    ["FB"] = "Fallout Bible",
    ["FILM"] = "Fallout (film)",
    ["FNV"] = "Fallout: New Vegas",
    ["FNVGRA"] = "Gun Runners' Arsenal",
    ["FNVDM"] = "Dead Money",
    ["FNVHH"] = "Honest Hearts",
    ["FNVOWB"] = "Old World Blues (add-on)",
    ["FNVLR"] = "Lonesome Road (add-on)",
    ["FO1"] = "Fallout",
    ["FO2"] = "Fallout 2",
    ["FO3"] = "Fallout 3",
    ["FO3OA"] = "Operation: Anchorage (add-on)",
    ["FO3TP"] = "The Pitt (add-on)",
    ["FO3BS"] = "Broken Steel",
    ["FO3PL"] = "Point Lookout (add-on)",
    ["FO3MZ"] = "Mothership Zeta (add-on)",
    ["FO4"] = "Fallout 4",
    ["FO4AUT"] = "Automatron (add-on)",
    ["FO4WW"] = "Wasteland Workshop",
    ["FO4FH"] = "Far Harbor (add-on)",
    ["FO4CW"] = "Contraptions Workshop",
    ["FO4VW"] = "Vault-Tec Workshop",
    ["FO4NW"] = "Nuka-World (add-on)",
    ["FOBOS"] = "Fallout: Brotherhood of Steel",
    ["FOBOS2"] = "Fallout: Brotherhood of Steel 2",
    ["FOS"] = "Fallout Shelter",
    ["FOT"] = "Fallout Tactics",
    ["FOT2"] = "Fallout Tactics 2",
    ["FOX"] = "Fallout Extreme",
    ["JES"] = "J.E. Sawyer's Fallout RPG",
    ["LH"] = "Lionheart",
    ["PA"] = "One Man, and a Crate of Puppets",
    ["PV13"] = "Project V13",
    ["TAR"] = "Project V13",
    ["TORN"] = "TORN",
    ["VB"] = "Van Buren",
}
 
-- look up short title without disambig
function stitle(game)
    local result = games[game]
    if game ~= "FILM" then
        result = result:gsub('%s%(.*', '')
    end
    return result
end
 
-- ====================
-- This function, links, is for ordinary links within the body of
-- an infobox.  So if all you want returned is [[Fallout 4]], then
-- use the syntax:
--        {{#invoke:Games|links|{{{games|}}}}}
-- specifying a second argument returns the text in italics:
--        {{#invoke:Games|links|{{{games|}}}|1}}
-- ====================
 
function p.links(frame)
    local result = ''
 
    local game_list = mw.text.split(frame.args[1], "%s*,%s*") 
    for n, game in ipairs(game_list) do
        if game:lower() == "none" then
            result = ''
        else
            result = result .. '[[' .. games[game] .. '|' .. stitle(game) .. ']]'
            if n ~= #game_list then
                result = result .. '<br/>'
            end
        end
    end
 
    if (frame.args[2] and result ~= '') then
        return "''" .. result .. "''"
    else
      return result
    end
end
 
-- ====================
--  This function, title, generically generates links for the supertitle.
--  Either just to the game page itself or to a more specific page.
--
--  {{#invoke:Games|title|FO4}} gives just [[Fallout 4|Fallout 4]]
--  {{#invoke:Games|title|FO4|weapons}} results in [[Fallout 4 weapons|Fallout 4]]
--  {{#invoke:Games|title|FO4|weapons|weapon}} results in [[Fallout 4 weapons|Fallout 4 weapon]]
-- ====================
 
function p.title(frame)
    local result = ''
 
    local game_list = mw.text.split(frame.args[1], "%s*,%s*") 
    for n, game in ipairs(game_list) do
        if game:lower() == "none" then
            result = 'Mentioned-only'
            if frame.args[3] then
                result = result .. ' ' .. frame.args[3]
            end
        else
            local link
            if frame.args[2] then
                link = stitle(game) .. ' ' .. frame.args[2]
            else
                link = games[game]
            end
            local text = stitle(game)
            if frame.args[3] and n == #game_list then
                text = text .. ' ' .. frame.args[3]
            end 
            result = result .. '[[' .. link .. '|' .. text .. ']]'
            if n ~= #game_list then
                result = result .. ' / '
            end
        end
    end
 
    return result
end
 
 
return p
 
--</nowiki>

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.

Rundt om i Wikias nettverk

Tilfeldig wiki