×
Einen neuen Artikel erstellen
Schreibe den Seitennamen hierhin:
Wir haben derzeit 9.055 Artikel auf Vaultpedia. Gib deinen Artikelnamen oberhalb von oder klicke auf einen der unten stehenden Titel und beginne zu schreiben! ein



    Vaultpedia
    9.055Artikel

    Modul:Abb: Unterschied zwischen den Versionen

    Tritt unserem Discord bei und informiere dich auf unserem Twitter-Kanal über die aktuellsten Themen rund um Fallout!
    Huu.Psii (Diskussion | Beiträge)
    KKeine Bearbeitungszusammenfassung
    Huu.Psii (Diskussion | Beiträge)
    KKeine Bearbeitungszusammenfassung
    Zeile 66: Zeile 66:
         FNVGRA = {
         FNVGRA = {
             icon  = "Gametitle-FNV_GRA.png",
             icon  = "Gametitle-FNV_GRA.png",
             title = "Gunn Runners' Arsenal"
             title = "Gun Runners' Arsenal"
         },
         },



    Version vom 16. November 2024, 16:03 Uhr

    Die Dokumentation für dieses Modul kann unter Modul:Abb/Doku erstellt werden

    -- Quelle: https://fallout.fandom.com/wiki/Module:Abb
    
    local p = {}
    local util = require( 'Modul:Util' )
    
    local gameList = {
        AR = {
            icon  = "Gametitle-AR.png",
            title = "All Roads",
            short = "All Roads"
        },
    
        D20 = {
            icon  = "Gametitle-D20.png",
            title = "Fallout Pen and Paper d20",
            link  = "Fallout d20",
            short = "Fallout d20"
        },
    
        FB = {
            icon  = "Gametitle-FB.png",
            title = "Fallout Bible"
        },
    
        FBG = {
            icon  = "Gametitle-FBG.png",
            title = "Fallout: The Board Game"
        },
    
        FBGNC = {
            icon  = "Gametitle-FBGNC.png",
            title = "Fallout: New California"
        },
        
        FBGWW = {
            icon  = "Gametitle-FBGWW.png",
            title = "Fallout: Wasteland Warfare",
        },
        
        FBS = {
            icon  = "Gametitle-FBG.png",
            title = "Fallout: The Board Game"
        },
        
        FILM = {
            icon  = "Film.png",
            title = "Fallout (Film)",
            link  = "Fallout-Film"
        },
    
        FNV = {
            icon  = "Gametitle-FNV.png",
            title = "Fallout: New Vegas"
        },
        
        FNVCS = {
            icon  = "Gametitle-FNV_CS.png",
            title = "Courier's Stash"
        },
    
        FNVDM = {
            icon  = "Gametitle-FNV_DM.png",
            title = "Dead Money"
        },
        
        FNVGRA = {
            icon  = "Gametitle-FNV_GRA.png",
            title = "Gun Runners' Arsenal"
        },
    
        FNVHH = {
            icon  = "Gametitle-FNV_HH.png",
            title = "Honest Hearts"
        },
    
        FNVLR = {
            icon  = "Gametitle-FNV_LR.png",
            title = "Lonesome Road (Add-On)",
            link  = "Lonesome Road"
        },
    
        FNVOWB = {
            icon  = "Gametitle-FNV_OWB.png",
            title = "Old World Blues (Add-On)",
            link  = "Old World Blues"
        },
    
        FO4 = {
            icon  = "Gametitle-FO4.png",
            title = "Fallout 4"
        },
    
        FO4AUT = {
            icon  = "Gametitle-FO4_AUT.png",
            title = "Automatron (Add-On)",
            link  = "Automatron"
        },
    
        FO4WW = {
            icon  = "Gametitle-FO4_WW.png",
            title = "Wasteland Workshop"
        },
    
        FO4FH = {
            icon  = "Gametitle-FO4_FH.png",
            title = "Far Harbor (Add-On)",
            link  = "Far Harbor"
        },
    
        FO4CW = {
            icon  = "Gametitle-FO4_CW.png",
            title = "Contraptions Workshop"
        },
    
        FO4VW = {
            icon  = "Gametitle-FO4_VW.png",
            title = "Vault-Tec Workshop"
        },
    
        FO4NW = {
            icon  = "Gametitle-FO4_NW.png",
            title = "Nuka-World (Add-On)",
            link  = "Nuka-World"
        },
    
        FO4VR = {
            icon  = "Gametitle-FO4VR.png",
            title = "Fallout 4 VR"
        },
    
        FO4CC = {
            icon  = "Gametitle-FO4_CC.png",
            title = "Creation Club"
        },
        
        FOS = {
            icon  = "Gametitle-FOS.png",
            title = "Fallout Shelter",
        },
        
         FOSO = {
            icon  = "Gametitle-FOSO.png",
            title = "Fallout Shelter Online",
        },
    
        FPB = {
            icon  = "Gametitle-FPB.png",
            title = "Fallout Pip-Boy"
        },
        
        FPNP = {
            icon  = "Gametitle-D20.png",
            title = "Fallout Pen and Paper d20",
            link  = "Fallout d20"
        },
    
        FO = {
            icon  = "Gametitle-FO1.png",
            title = "Fallout"
        },
    
        FO1 = {
            icon  = "Gametitle-FO1.png",
            title = "Fallout"
        },
    
        FO2 = {
            icon  = "Gametitle-FO2.png",
            title = "Fallout 2"
        },
    
        FO3 = {
            icon  = "Gametitle-FO3.png",
            title = "Fallout 3"
        },   
    
        FO3BS = {
            icon  = "Gametitle-FO3_BS.png",
            title = "Broken Steel"
        },
    
        FO3MZ = {
            icon  = "Gametitle-FO3_MZ.png",
            title = "Mothership Zeta (Add-On)",
            link  = "Mothership Zeta"
        },
    
        FO3OA = {
            icon  = "Gametitle-FO3_OA.png",
            title = "Operation: Anchorage (Add-On)",
            link  = "Operation: Anchorage"
        },
    
        FO3PL = {
            icon  = "Gametitle-FO3_PL.png",
            title = "Point Lookout (Add-On)",
            link  = "Point Lookout"
        },
    
        FO3TP = {
            icon  = "Gametitle-FO3_TP.png",
            title = "The Pitt (Add-On)",
            link  = "The Pitt"
        },
    
        FO76 = {
            icon  = "Gametitle-FO76.png",
            title = "Fallout 76"
        },
    
        FO76WA = {
            icon  = "Gametitle-FO76_WA.png",
            title = "Wild Appalachia"
        },
    
        FO76NW = {
            icon  = "Gametitle-FO76_NW.png",
            title = "Nuclear Winter"
        },
     
        FO76WL = {
            icon  = "Gametitle-FO76_WL.png",
            title = "Wastelanders"
        },
    
        FO76LR = {
            icon  = "Gametitle-FO76_LR.png",
            title = "Das legendäre Rennen (Update)",
            link  = "Das legendäre Rennen"
        },
        
        ['FO76EÖ'] = {
            icon  = "Gametitle-FO76_One_Wasteland.png",
            title = "Ein Ödland für alle"
        },
    
        FO76OW = {
            icon  = "Gametitle-FO76_One_Wasteland.png",
            title = "Ein Ödland für alle"
        },
    
        FO76FS = {
            icon  = "Gametitle-FO76_Steel Dawn.png",
            title = "Stählerne Dämmerung"
        },
    
        FO76SD = {
            icon  = "Gametitle-FO76_Steel Dawn.png",
            title = "Stählerne Dämmerung"
        },
        
        FO76GE = {
            icon  = "Gametitle-FO76_Locked n Loaded.png",
            title = "Geladen und entsichert"
        },
    
    	FO76LL = {
            icon  = "Gametitle-FO76_Locked n Loaded.png",
            title = "Geladen und entsichert"
        },
        
        FO76SH = {
            icon  = "Gametitle-FO76_Steel Reign.png",
            title = "Stählerne Herrschaft"
        },
        
        FO76SR = {
            icon  = "Gametitle-FO76_Steel Reign.png",
            title = "Stählerne Herrschaft"
        },
        
        FO76FW = {
            icon  = "Gametitle-FO76 FW.png",
            title = "Fallout Worlds"
        },
        
        FO76NDM = {
            icon  = "Gametitle-FO76 NM.png",
            title = "Nacht der Motte"
        },
        
        FO76NM = {
            icon  = "Gametitle-FO76 NM.png",
            title = "Nacht der Motte"
        },
        
        FO76AADA = {
            icon  = "Gametitle-FO76 IB.png",
            title = "Angreifer aus dem All (Update)",
            link  = "Angreifer aus dem All"
        },
        
        FO76IB = {
            icon  = "Gametitle-FO76 IB.png",
            title = "Angreifer aus dem All (Update)",
            link  = "Angreifer aus dem All"
        },
        
        FO76HP = {
            icon  = "Gametitle-FO76 TM.png",
            title = "Härteprüfung (Update)",
            link  = "Härteprüfung"
        },
        
        FO76TM = {
            icon  = "Gametitle-FO76 TM.png",
            title = "Härteprüfung (Update)",
            link  = "Härteprüfung"
        },
        
        FO76TP = {
            icon  = "Gametitle-FO76 TP.png",
            title = "Expeditionen: The Pitt"
        },
        
        FO76NT = {
            icon  = "Gametitle-FO76 NT.png",
            title = "Nuka-World on Tour (Update)",
            link  = "Nuka-World on Tour"
        },
        
        FO76NWOT = {
            icon  = "Gametitle-FO76 NT.png",
            title = "Nuka-World on Tour (Update)",
            link  = "Nuka-World on Tour"
        },
        
        FO76MI = {
            icon  = "Gametitle-FO76MI.png",
            title = "Mutations-Invasion"
        },
        
        FO76OB = {
            icon  = "Gametitle-FO76 OB.png",
            title = "Wenn die Sterne günstig stehen"
        },
        
        FO76WDS = {
            icon  = "Gametitle-FO76 OB.png",
            title = "Wenn die Sterne günstig stehen"
        },
        
        FO76AC = {
            icon  = "Gametitle-FO76 AC.png",
            title = "Expeditionen: Atlantic City"
        },
        
        FO76BP = {
        	icon  = "Gametitle-FO76 AC.png",
        	title = "Boardwalk Paradise"
        },
        
        FO76AP = {
        	icon  = "Gametitle-FO76 AC.png",
        	title = "America's Playground"
        },
        
        FO76SV = {
        	icon  = "Gametitle-FO76 SV.png",
        	title = "Skyline Valley (Update)",
        	link  = "Skyline Valley"
        },
        
        FO76MN = {
        	icon  = "Gametitle-FO76 MZ.png",
        	title = "Meilenstein Null (Update)",
        	link  = "Meilenstein Null"
        },
        
        FO76MZ = {
        	icon  = "Gametitle-FO76 MZ.png",
        	title = "Meilenstein Null (Update)",
        	link  = "Meilenstein Null"
        },
        
        FO76GD = {
        	icon  = "Gametitle-FO76.png",
        	title = "Strahlende Tiefen (Update)",
        	link  = "Strahlende Tiefen"
        },
        
        FO76ST = {
        	icon  = "Gametitle-FO76.png",
        	title = "Strahlende Tiefen (Update)",
        	link  = "Strahlende Tiefen"
        },
        
        FOBOS = {
            icon  = "Gametitle-FOBOS.png",
            title = "Fallout: Brotherhood of Steel",
            short = "Fallout: BoS"
        },
    
        FOBOS2 = {
            icon  = "Gametitle-FOBOS2.png",
            title = "Fallout: Brotherhood of Steel 2",
            link  = "Fallout: Brotherhood of Steel 2",
            short = "Fallout: BoS 2"
        },
    
        FOOL = {
            icon  = "PV13.png",
            title = "Project V13"
        },
    
        PV13 = {
            icon  = "PV13.png",
            title = "Project V13"
        },
    
        FOT = {
            icon  = "Gametitle-FOT.png",
            title = "Fallout Tactics: Brotherhood of Steel",
            link  = "Fallout Tactics",
            short = "Fallout Tactics"
        },
        
        FOT2 = {
            icon  = "Gametitle-FOT2.png",
            title = "Fallout Tactics 2"
        },
    
        FOW = {
            icon  = "Gametitle-FOW.png",
            title = "Fallout: Warfare"
        },
    
        FOX = {
            icon  = "Gametitle-FOX.png",
            title = "Fallout Extreme"
        },
    
       FOWW = {
            icon  = "Gametitle-FWW.png",
            title = "Fallout: Wasteland Warfare"
        },
        
        FORPG = {
            icon  = "Gametitle-2D20.png",
            title = "Fallout: The Roleplaying Game",
            short = "Fallout RPG"
        },
        
        FORPGWOA = {
            icon  = "Gametitle-2D20.png",
            title = "Winter of Atom",
        },
        
        JES = {
            icon  = "Gametitle-JES.png",
            title = "J.E. Sawyer's Fallout RPG",
            short = "JES Fallout RPG"
        },
        
        KEIN = {
            title = "erwähnt"
        },
    
        LH = {
            icon  = "Gametitle-LH.png",
            title = "Lionheart"
        },
    
        PA = {
            icon  = "Penny Arcade.gif",
            title = "One Man, and a Crate of Puppets",
            short = "Penny Arcade"
        },
    
        TAR = {
            icon  = "Gametitle-TAR.jpg",
            title = "The Armageddon Rag",
            short = "Armageddon Rag"
        },
        
        TORN = {
            icon  = "Gametitle-TORN.png",
            title = "TORN"
        },
        
        VB = {
            icon  = "Gametitle-VB.png",
            title = "Van Buren"
        },
    
        WIKI = {
            icon  = "Gametitle-Wiki.png",
            title = "Fallout Wiki:Über",
            short = "Fallout Wiki"
        },
        
        NONE = {
            title = "erwähnt"
        },
        
        REAL = {
            title = "real"
        },
    
        RW = {
            title = "real"
        },
    
        FOF = {
            icon  = "Gametitle-FOF.png",
        	title = "Fallout: Factions",
        },
        
        FOTV = {
        	title = "Fallout (Fernsehserie)",
        	link  = "Fallout-Fernsehserie",
        	short = "Fernsehserie"
        },
        
        FTV = {
        	title = "Fallout (Fernsehserie)",
        	link  = "Fallout-Fernsehserie",
        	short = "Fernsehserie"
        },
    
    }
    
    function setTable(keys)
        if string.len(tostring(keys)) > 0 then
            result = mw.text.split(keys, ",")
        else
            result = nil
        end
        return result
    end
    
    function _valid(games)
    local keys = setTable(games)
        for k, v in ipairs(keys) do
            if gameList[v] ~=nil then
                return true
            end
        end
        return false
    end
    
    function p.i_valid(games)
        return _valid(games)
    end
    
    function p.validation(frame)
        return _valid(frame.args['games'])
    end
    
    function icon(frame)
        local fileCount = 1
        local fileOut = ""
        while fileCount <= abbLength do
            currentFile = string.upper(abbGames[fileCount])
            currentFile = abbIcon[currentFile]
            if currentFile ~= nil then
                fileOut = fileOut .. currentFile
            end
            fileCount = fileCount + 1
        end
        return fileOut
    end
    
    function _category(keys, category, prepend, append, mode, sortkey)
        local keys = setTable(keys)
        local result = ""
        
        if util.exists(keys) then
            for k, v in ipairs(keys) do
                local currentCat = nil
                
                if util.exists(gameList[v].link) then
                    currentCat = gameList[v].link
                else
                    currentCat = gameList[v].title
                end
                
                result = result .. "[[Kategorie:"
    
                if util.exists(mode) and string.lower(mode) == "append" then
                    result = result .. string.lower(category) .. " "
                    if util.exists(prepend) then
                        result = result .. prepend
                    end
    
                    result = result .. currentCat
    
                    if util.exists(append) then
                        result = result .. append
                    end
                else
                    result = result .. currentCat .. " "
                    
                    if util.exists(prepend) then
                        result = result .. " " .. prepend
                    end
                
                    result = result .. category
                    
                    if util.exists(append) then
                        result = result .. append
                    end
                end
    
                if util.exists(sortKey) then
                    result = result .. "|" .. sortKey
                end
                
                result = result .. "]]"
            end
        else
            result = "[[Kategorie:" .. category
            
            if exists(sortKey) then
                    result = result .. "|" .. sortKey
            end
            
            result = result .. "]]"
        end
        
        return result
    end
    
    function p.i_category(games, category, prepend, append, mode, sortkey)
    	return _category(games, category, prepend, append, mode, sortkey)
    end
    
    function p.category(frame)
        local keys = setTable(frame.args['games'])
        local category = frame.args['category']
        local prepend = frame.args['prepend']
        local append = frame.args['append']
        local mode = frame.args['mode']
        local sortKey = frame.args['sort key']
        local i = 1
        local result = ""
        
        if keys ~= nil then
            while i <= table.getn(keys) do
                local currentCat = nil
                currentCat = keys[i]
                if gameList[currentCat]['link'] ~= nil then
                    currentCat = gameList[currentCat]['link']
                else
                    currentCat = gameList[currentCat]['title']
                end
                
                result = result .. "[[Kategorie:"
    
                if string.lower(mode) == "append" then
                    result = result .. string.lower(category) .. " "
                    if prepend ~= nil then
                        result = result .. prepend
                    end
    
                    result = result .. currentCat
    
                    if append ~= nil then
                        result = result .. append
                    end
                else
                    result = result .. currentCat .. " "
                    
                    if prepend ~= nil then
                        result = result .. " " .. prepend
                    end
                
                    result = result .. category
                    
                    if append ~= nil then
                        result = result .. append
                    end
                end
    
                if sortKey ~= nil and string.len(sortKey) ~= 0 then
                    result = result .. "|" .. sortKey
                end
                
                result = result .. "]]"
                i = i + 1
            end
        else
            result = "[[Kategorie:" .. category
            
            if sortKey ~= nil and string.len(sortKey) ~= 0 then
                    result = result .. "|" .. sortKey
            end
            
            result = result .. "]]"
        end
        
        return result
    end
    
    function p.abb(frame)
        if frame.args[2] ~= nil then
            mode = string.lower(frame.args[2])
        end
        
        local games = string.upper(tostring(frame.args[1]))
        games = mw.text.split(games, ",")
        length = table.getn(games)
        if mode == "link" or mode == "text" or mode == "short" or mode == nil then
            result = abbOnly(games, mode, length)
        end
    
        if mode == "cat" then
            abbCatName = frame.args[3]
            abbAppend = frame.args[4]
            abbPrepend = frame.args[5]
            abbCatMode = frame.args[6]
            abbSort = frame.args[7]
            result = abbCategory(games, length, abbCatName, abbAppend, abbPrepend, abbCatMode, abbSort)
        end
    
        if mode == "icon" then
            result = abbFile(games, length)
        end
        return result
    end
    
    function p.documentation()
        keys = {}
        for k in pairs(gameList) do
            table.insert(keys, k)
        end
     
        table.sort(keys)
        result = '{| class="va-table va-table-full"\n|-\n !Abkürzung!!Text/Titel!!Kurzform!!Link!!Icon\n|-\n'
        for k,v in ipairs(keys) do
    		result = result .. '|' .. v .. '||' .. gameList[v].title .. '||'
    		if _valid(gameList[v].short) ~= nil then
    			result = result .. gameList[v].short
    		else
    			result = result .. gameList[v].title
    		end
    		result = result .. '||'
    		if _valid(gameList[v].link) ~= nil then
    			result = result .. gameList[v].link
    		else
    			result = result .. gameList[v].title
    		end
    		result = result .. '||' .. '[[Datei:' .. gameList[v].icon .. '|x40px]]\n|-\n'
    	end
        result = result .. '\n|}'
     
        return result
    end
    
    return p