FANDOM


local p = {}
 
local iconTip = {
    ["ability"]         = "Ability",
    ["ac"]              = "Armor class",
    ["acid"]            = "Acid",
    ["action"]          = "Action points",
    ["amber"]           = "Uncorroborrated fact",
    ["ammo"]            = "Ammunition",
    ["android"]         = "Android OS|platform",
    ["ap"]              = "Action points",
    ["apple"]           = "Apple iOS|platform",
    ["AR"]              = "All Roads",
    ["armorwb"]         = "Armor workbench",
    ["atom"]            = "Atom",
    ["attack"]          = "Attack",
    ["big gun"]         = "Big Gun, direct fire",
    ["bigger gun"]      = "Big Gun, area of effect",
    ["blade"]           = "Bladed melee weapon",
    ["bleed"]           = "Bleed",
    ["blunt"]           = "Blunt melee weapon",
    ["bonus effect"]    = "Bonus effect",
    ["boss"]            = "High level character",
    ["bronze"]          = "Bronze",
    ["bugged unav"]     = "Bugged",
    ["caravan"]         = "Plays caravan",
    ["cards"]           = "Cards",
    ["chance"]          = "Armor class",
    ["check"]           = "Armor class",
    ["checkbrown"]      = "Armor class",
    ["chemst"]          = "Chemistry station",
    ["companion"]       = "Companion",
    ["confidence"]      = "Confidence",
    ["cookst"]          = "Cooking station",
    ["craft"]           = "Crafting",
    ["crit dmg"]        = "Critical damage",
    ["crit effect"]     = "Critical effect",
    ["crit"]            = "Critical damage",
    ["cross"]           = "No",
    ["crosshair"]       = "Attack",
    ["cut"]             = "Cut content",
    ["D20"]             = "Fallout Pen and Paper d20",
    ["dam/ap"]          = "Damage per action point",
    ["damage"]          = "Damage",
    ["dap"]             = "Armor class",
    ["dead"]            = "Dead",
    ["defense"]         = "Defense",
    ["detect"]          = "Detection",
    ["detection"]       = "Detection",
    ["dial"]            = "Dialogue",
    ["dialogue"]        = "Dialogue",
    ["dislike"]         = "Dislike",
    ["distance"]        = "Distance",
    ["doctor"]          = "Doctor",
    ["dps"]             = "Damage per second",
    ["dr"]              = "Damage resistance",
    ["dt"]              = "Damage threshold",
    ["effect"]          = "Effect",
    ["electrical"]      = "Electrical",
    ["emp"]             = "EMP",
    ["energy"]          = "Energy",
    ["enslave"]         = "Can be enslaved",
    ["essential"]       = "Essential",
    ["experience"]      = "Experience points",
    ["explmill"]        = "Explosives mill",
    ["explosion"]       = "Explosion",
    ["eye"]             = "Detection",
    ["facebook"]        = "Facebook",
    ["FB"]              = "Fallout Bible",
    ["FBG"]             = "Fallout: The Board Game",
    ["FBGNC"]           = "Fallout: New California",
    ["FILM"]            = "Fallout (film)",
    ["fire"]            = "Fire",
    ["fist"]            = "Fist",
    ["FNV"]             = "Fallout: New Vegas",
    ["FNVCS"]           = "Courier's Stash",
    ["FNVDM"]           = "Dead Money",
    ["FNVGRA"]          = "Gun Runners' Arsenal",
    ["FNVHH"]           = "Honest Hearts",
    ["FNVLR"]           = "Lonesome Road (add-on)",
    ["FNVOWB"]          = "Old World Blues (add-on)",
    ["fnvww"]           = "Wild Wasteland",
    ["FO1"]             = "Fallout",
    ["FO2"]             = "Fallout 2",
    ["FO3"]             = "Fallout 3",
    ["FO3BS"]           = "Broken Steel",
    ["FO3MZ"]           = "Mothership Zeta (add-on)",
    ["FO3OA"]           = "Operation: Anchorage (add-on)",
    ["FO3PL"]           = "Point Lookout (add-on)",
    ["FO3TP"]           = "The Pitt (add-on)",
    ["FO4"]             = "Fallout 4",
    ["FO4AUT"]          = "Automatron (add-on)",
    ["FO4CC"]           = "Creation Club",
    ["fo4chain01"]      = "Four key chain",
    ["fo4chain02"]      = "Five key chain",
    ["fo4chain03"]      = "Five key chain",
    ["FO4CW"]           = "Contraptions Workshop",
    ["FO4FH"]           = "Far Harbor (add-on)",
    ["fo4gencard"]      = "Generic keycard",
    ["fo4holo"]         = "Holotape",
    ["fo4key01"]        = "Quantum key",
    ["fo4key02"]        = "Toy rocketship key",
    ["fo4key03"]        = "Vault Boy key",
    ["fo4note"]         = "Note",
    ["FO4NW"]           = "Nuka-World (add-on)",
    ["fo4vaultid"]      = "Vault ID card",
    ["FO4VR"]           = "Fallout 4 VR",
    ["FO4VW"]           = "Vault-Tec Workshop",
    ["FO4WW"]           = "Wasteland Workshop",
    ["FO76"]            = "Fallout 76",
    ["FO76WA"]          = "Wild Appalachia",
    ["FO76NW"]          = "Nuclear Winter",
    ["FO76WL"]          = "Wastelanders",
    ["FO76LR"]          = "The Legendary Race",
    ["FOBOS"]           = "Fallout: Brotherhood of Steel",
    ["FOBOS2"]          = "Fallout: Brotherhood of Steel 2",
    ["foodpr"]          = "Food processor",
    ["FOS"]             = "Fallout Shelter",
    ["FOT"]             = "Fallout Tactics",
    ["FOT2"]            = "Fallout Tactics 2",
    ["FOX"]             = "Fallout Extreme",
    ["frost"]           = "Frost",
    ["FWW"]             = "Fallout: Wasteland Warfare",
    ["FWWRPG"]          = "Fallout: Wasteland Warfare Roleplaying Game",
    ["gamerscore"]      = "Gamerscore",
    ["gas"]             = "Gas",
    ["gold"]            = "Gold",
    ["green"]           = "Reliable fact",
    ["grenade"]         = "Grenade",
    ["group"]           = "Group",
    ["gun"]             = "Gun",
    ["hate"]            = "Hate",
    ["healing rate"]    = "Healing rate",
    ["healing"]         = "Healing rate",
    ["health"]          = "Health points",
    ["heart"]           = "Health points",
    ["hp"]              = "Health points",
    ["image"]           = "Image",
    ["info"]            = "Information",
    ["instagram"]       = "Instagram",
    ["ios"]             = "Apple iOS|platform",
    ["JES"]             = "J.E. Sawyer's Fallout RPG",
    ["jury"]            = "Jury Rigging",
    ["laser"]           = "Laser",
    ["level"]           = "Level",
    ["LH"]              = "Lionheart",
    ["like"]            = "Like",
    ["link"]            = "Food processor",
    ["linkedin"]        = "Linkedin",
    ["limitedtime"]     = "Limited-time",
    ["love"]            = "Love",
    ["mac"]             = "Macintosh Classic or Mac OS X|platform",
    ["macclassic"]      = "Macintosh Classic (≤ MacOS 9)|platform",
    ["mag"]             = "Magazine capacity",
    ["melee"]           = "Melee",
    ["mentioned"]       = "Mentioned",
    ["merchant"]        = "Merchant",
    ["mine"]            = "Mine",
    ["mod"]             = "With mods",
    ["myspace"]         = "Myspace",
    ["neutral"]         = "Neutral",
    ["neutralface"]     = "Neutral",
    ["no"]              = "No",
    ["nukamix"]         = "Nuka-mixer station",
    ["optional"]        = "Optional",
    ["PA"]              = "One Man, and a Crate of Puppets",
    ["parmorst"]        = "Power armor station",
    ["pbgame"]          = "Pip-Boy game",
    ["pc"]              = "PC|platform",
    ["percent"]         = "Chance",
    ["pistol"]          = "Gun",
    ["plasma"]          = "Plasma",
    ["platinum"]        = "Platinum",
    ["poison"]          = "Poison",
    ["ps3"]             = "Playstation 3|platform",
    ["ps4"]             = "Playstation 4|platform",
    ["PV13"]            = "Project V13",
    ["question"]        = "Question mark",
    ["radiation"]       = "Radiation",
    ["range"]           = "Range",
    ["rarity"]          = "Rarity",
    ["ratio"]           = "Ratio",
    ["red"]             = "Unreliable or incorrect statement",
    ["repair"]          = "Repair",
    ["repeat"]          = "Repeat",
    ["required"]        = "Required",
    ["rifle"]           = "Rifle",
    ["robotwb"]         = "Robot workbench",
    ["semi-required"]   = "Sometimes required or at least one required",
    ["semi"]            = "Sometimes required or at least one required",
    ["sequence"]        = "Sequence",
    ["shieldbronze"]    = "Armor class",
    ["shieldgold"]      = "Damage threshold",
    ["shieldsilver"]    = "Damage resistance",
    ["shotgun"]         = "Shotgun",
    ["sic"]             = "In-game spelling, punctuation and/or grammar",
    ["silver"]          = "Silver",
    ["smg"]             = "Submachine gun",
    ["sound"]           = "Sound",
    ["spawn"]           = "Spawned",
    ["spread"]          = "Spread",
    ["switch"]          = "Nintendo Switch|platform",
    ["TAR"]             = "Project V13",
    ["temp"]            = "Temporary",
    ["text"]            = "Text",
    ["TORN"]            = "TORN",
    ["tumblr"]          = "Tumblr",
    ["twitch"]          = "Twitch",
    ["twitter"]         = "Twitter",
    ["unarmed"]         = "Unarmed",
    ["VB"]              = "Van Buren",
    ["weapwb"]          = "Weapons workbench",
    ["weight"]          = "Weight",
    ["wild wasteland"]  = "Wild Wasteland",
    ["WIKI"]            = "Nukapedia",
    ["windows"]         = "Windows Phone|platform",
    ["workshop"]        = "Workshop",
    ["ww"]              = "Wild Wasteland",
    ["xbox360"]         = "Xbox 360|platform",
    ["xboxone"]         = "Xbox One|platform",
    ["xp"]              = "Experience points",
    ["yes"]             = "Yes",
}
 
local gameIcon = {
    ["ability"]         = "Icon ability.png",
    ["ac"]              = "Icon shield bronze.png",
    ["acid"]            = "Icon acid.png",
    ["action"]          = "Icon action.png",
    ["amber"]           = "Icon amber.png",
    ["ammo"]            = "icon ammo.png",
    ["android"]         = "icon android.png",
    ["ap"]              = "Icon action.png",
    ["apple"]           = "icon appleios.png",
    ["ios"]             = "icon appleios.png",
    ["AR"]              = "gametitle-AR.png",
    ["armorwb"]         = "Fo4_Armor_Work_Icon.png",
    ["atom"]            = "Icon Fo76 Atom.png",
    ["attack"]          = "Icon attack.png",
    ["big gun"]         = "Icon heavy weapon.png",
    ["bigger gun"]      = "Icon big gun.png",
    ["blade"]           = "Icon blade.png",
    ["bleed"]           = "Icon bleed.png",
    ["blunt"]           = "Icon blunt.png",
    ["bonus effect"]    = "Icon bonus effect.png",
    ["boss"]            = "FoS Boss.png",
    ["bronze"]          = "Bronze.png",
    ["bugged unav"]     = "Radroach.png",
    ["caravan"]         = "Icon cards.png",
    ["cards"]           = "Icon cards.png",
    ["chance"]          = "Icon chance.png",
    ["check"]           = "Icon check.png",
    ["checkbrown"]      = "Icon check temp.png",
    ["chemst"]          = "Fo4_Chem_Work_Icon.png",
    ["companion"]       = "Icon companion.png",
    ["confidence"]      = "Icon confidence.png",
    ["cookst"]          = "Fo4_Cook_Work_Icon.png",
    ["craft"]           = "Icon crafting.png",
    ["crit effect"]     = "Icon crit effect.png",
    ["crit"]            = "Icon critical damage.png",
    ["cross"]           = "Icon cross.png",
    ["crosshair"]       = "Icon attack.png",
    ["cut"]             = "Icon cut.png",
    ["D20"]             = "gametitle-D20.png",
    ["damage"]          = "Icon damage.png",
    ["dap"]             = "Icon dap.png",
    ["dead"]            = "Icon dead.png",
    ["defense"]         = "Icon shield silver.png",
    ["detect"]          = "Icon eye.png",
    ["detection"]       = "Icon eye.png",
    ["dial"]            = "Icon dialogue.png",
    ["dialogue"]        = "Icon dialogue.png",
    ["dislike"]         = "Dislike.svg",
    ["distance"]        = "Icon range.png",
    ["doctor"]          = "Icon doctor.png",
    ["dps"]             = "Icon dps.png",
    ["dr"]              = "Icon shield silver.png",
    ["dt"]              = "Icon shield gold.png",
    ["effect"]          = "Icon effect.png",
    ["electrical"]      = "Icon electrical.png",
    ["emp"]             = "Icon EMP.png",
    ["energy"]          = "Icon electrical.png",
    ["enslave"]         = "Icon cage.png",
    ["essential"]       = "Icon essential.png",
    ["experience"]      = "Icon XP.png",
    ["explmill"]        = "Icon fo4cw builder.png",
    ["explosion"]       = "Icon explosion.png",
    ["eye"]             = "Icon eye.png",
    ["facebook"]        = "FacebookIcon.png",
    ["FB"]              = "gametitle-FB.png",
    ["FBG"]             = "gametitle-FBG.png",
    ["FBGNC"]           = "gametitle-FBGNC.png",
    ["FBGWW"]           = "gametitle-FBGWW.png",
    ["FILM"]            = "Film.png",
    ["fire"]            = "Icon fire.png",
    ["fist"]            = "Icon fist.png",
    ["FNV"]             = "gametitle-FNV.png",
    ["FNVCS"]           = "gametitle-FNV CS.png",
    ["FNVDM"]           = "gametitle-FNV DM.png",
    ["FNVGRA"]          = "gametitle-FNV GRA.png",
    ["FNVHH"]           = "gametitle-FNV HH.png",
    ["FNVLR"]           = "gametitle-FNV LR.png",
    ["FNVOWB"]          = "gametitle-FNV OWB.png",
    ["fnvww"]           = "Perk wild wasteland.png",
    ["FO"]              = "gametitle-FO1.png",
    ["FO1"]             = "gametitle-FO1.png",
    ["FO2"]             = "gametitle-FO2.png",
    ["FO3"]             = "gametitle-FO3.png",
    ["FO3BS"]           = "gametitle-FO3 BS.png",
    ["FO3MZ"]           = "gametitle-FO3 MZ.png",
    ["FO3OA"]           = "gametitle-FO3 OA.png",
    ["FO3PL"]           = "gametitle-FO3 PL.png",
    ["FO3TP"]           = "gametitle-FO3 TP.png",
    ["FO4"]             = "gametitle-FO4.png",
    ["FO4AUT"]          = "gametitle-FO4 AUT.png",
    ["FO4CC"]           = "gametitle-FO4 CC.png",
    ["fo4chain01"]      = "icon Fo4 chain01.png",
    ["fo4chain02"]      = "icon Fo4 chain02.png",
    ["fo4chain03"]      = "icon Fo4 chain03.png",
    ["FO4CW"]           = "gametitle-FO4_CW.png",
    ["FO4FH"]           = "gametitle-FO4_FH.png",
    ["fo4gencard"]      = "icon Fo4 gen keycard.png",
    ["fo4holo"]         = "icon Fo4 holotape.png",
    ["fo4key01"]        = "icon Fo4 key01.png",
    ["fo4key02"]        = "icon Fo4 key02.png",
    ["fo4key03"]        = "icon Fo4 key03.png",
    ["fo4note"]         = "icon Fo4 note.png",
    ["FO4NW"]           = "gametitle-FO4_NW.png",
    ["fo4vaultid"]      = "icon Fo4 vaultid.png",
    ["FO4VR"]           = "gametitle-FO4VR.png",
    ["FO4VW"]           = "gametitle-FO4 VW.png",
    ["FO4WW"]           = "gametitle-FO4 WW.png",
    ["FO76"]            = "gametitle-FO76.png",
    ["FO76WA"]          = "gametitle-FO76 WA.png",
    ["FO76NW"]          = "gametitle-FO76 NW.png",
    ["FO76WL"]          = "gametitle-FO76 WL.png",
    ["FO76LR"]          = "gametitle-FO76 LR.png",
    ["FOBOS"]           = "gametitle-FOBOS.png",
    ["FOBOS2"]          = "gametitle-FOBOS2.png",
    ["foodpr"]          = "Icon fo4cw builder.png",
    ["FOOL"]            = "PV13.png",
    ["FOS"]             = "gametitle-FOS.png",
    ["FOT"]             = "gametitle-FOT.png",
    ["FOT2"]            = "gametitle-FOT2.png",
    ["FOW"]             = "gametitle-FOW.png",
    ["FOX"]             = "gametitle-FOX.png",
    ["FPB"]             = "gametitle-FPB.png",
    ["frost"]           = "Icon effect.png",
    ["FWW"]             = "gametitle-FWW.png",
    ["FWWRPG"]          = "gametitle-FWWRPG.png",
    ["gamerscore"]      = "Gamerscore.svg",
    ["gas"]             = "Icon gas.png",
    ["gold"]            = "Gold.png",
    ["green"]           = "Icon green.png",
    ["grenade"]         = "Icon grenade.png",
    ["group"]           = "Icon group.png",
    ["gun"]             = "Icon gun.png",
    ["hate"]            = "Hate.svg",
    ["healing rate"]    = "Icon healing.png",
    ["healing"]         = "Icon healing.png",
    ["health"]          = "Icon heart.png",
    ["heart"]           = "Icon heart.png",
    ["hp"]              = "Icon heart.png",
    ["image"]           = "Icon image.png",
    ["info"]            = "Icon info.png",
    ["instagram"]       = "Instagram icon.jpg",
    ["JES"]             = "gametitle-JES.png",
    ["jury"]            = "JuryRigging.png",
    ["laser"]           = "Icon laser.png",
    ["level"]           = "Icon level.png",
    ["LH"]              = "gametitle-LH.png",
    ["like"]            = "Like.svg",
    ["linkedin"]        = "Linkedin icon.png",
    ["limitedtime"]     = "Icon limitedtime.png",
    ["love"]            = "Love.svg",
    ["mac"]             = "Icon mac.png",
    ["macclassic"]      = "Icon mac.png",
    ["mag"]             = "Assault carbine extended magazines.png",
    ["melee"]           = "Icon melee.png",
    ["mentioned"]       = "Icon mentioned.png",
    ["merchant"]        = "Icon merchant.png",
    ["mine"]            = "Icon mine.png",
    ["mod"]             = "Icon plus.png",
    ["myspace"]         = "Myspace icon.png",
    ["neutral"]         = "Icon neutral.png",
    ["neutralface"]     = "Neutral.svg",
    ["no"]              = "Icon cross.png",
    ["nukamix"]         = "Icon Nuka-mixer station.png",
    ["optional"]        = "Icon optional.png",
    ["PA"]              = "Penny Arcade.gif",
    ["parmorst"]        = "Fo4_Power_Work_Icon.png",
    ["pbgame"]          = "Fo4_Pip-Boy game.png",
    ["pc"]              = "Icon pc.png",
    ["percent"]         = "Icon chance.png",
    ["pistol"]          = "Icon gun.png",
    ["plasma"]          = "Icon plasma.png",
    ["platinum"]        = "Plat.png",
    ["poison"]          = "Icon poison.png",
    ["ps3"]             = "Icon ps3.png",
    ["ps4"]             = "Icon ps4.png",
    ["PV13"]            = "PV13.png",
    ["question"]        = "Icon question.png",
    ["radiation"]       = "Icon radiation.png",
    ["range"]           = "Icon range.png",
    ["rarity"]          = "Icon rarity.png",
    ["ratio"]           = "Icon ratio.png",
    ["red"]             = "Icon red.png",
    ["repair"]          = "Icon repair.png",
    ["repeat"]          = "Icon repeat.png",
    ["required"]        = "Icon required.png",
    ["rifle"]           = "Icon rifle.png",
    ["robotwb"]         = "Icon robot workbench.png",
    ["semi-required"]   = "Icon semi-required.png",
    ["semi"]            = "Icon semi-required.png",
    ["sequence"]        = "Icon sequence.png",
    ["shieldbronze"]    = "Icon shield bronze.png",
    ["shieldgold"]      = "Icon shield gold.png",
    ["shieldsilver"]    = "Icon shield silver.png",
    ["shotgun"]         = "Icon shotgun.png",
    ["sic"]             = "Icon sic.png",
    ["silver"]          = "Silver.png",
    ["smg"]             = "Icon smg.png",
    ["sound"]           = "Icon sound.png",
    ["spawn"]           = "Icon spawn.png",
    ["spread"]          = "Icon spread.png",
    ["switch"]          = "Nintendo Switch icon.png",
    ["TAR"]             = "gametitle-TAR.jpg",
    ["temp"]            = "Icon check temp.png",
    ["text"]            = "Icon text.png",
    ["TORN"]            = "gametitle-TORN.png",
    ["tumblr"]          = "Tumblr Icon.png",
    ["twitch"]          = "Twitch icon.png",
    ["twitter"]         = "Twitter icon.png",
    ["unarmed"]         = "Icon unarmed.png",
    ["VB"]              = "gametitle-VB.png",
    ["weapwb"]          = "Fo4_Weapon_Work_Icon.png",
    ["weight"]          = "Icon weight.png",
    ["WIKI"]            = "gametitle-Wiki.png",
    ["wild wasteland"]  = "Perk wild wasteland.png",
    ["windows"]         = "Icon windows.png",
    ["workshop"]        = "Icon workshop.png",
    ["ww"]              = "Perk wild wasteland.png",
    ["xbox360"]         = "Icon xbox360.png",
    ["xboxone"]         = "Icon xboxone.png",
    ["xp"]              = "Icon XP.png",
    ["yes"]             = "Icon check.png",
}
 
local iconSize = {
    ["small"]           = "x10px",
    ["medium"]          = "x14px",
    ["normal"]          = "x14px",
    ["big"]             = "x20px",
}
 
function p.Icons(frame) 
    local iconList = mw.text.split(frame.args[1], ",")
    local parserError = ""
    local iconSetting
    if frame.args[2] ~= nil and string.len(frame.args[2]) > 0 then
        iconSetting = tostring(frame.args[2])
        if iconSize[iconSetting] ~= nil then
            iconSetting = iconSize[iconSetting]
        end
    else
        iconSetting = iconSize["medium"]
    end
 
    local iconLinks
    if frame.args[3] ~= nil then
        iconLinks = mw.text.split(frame.args[3], ",")
    end
 
    local tipOverride 
    if frame.args[4] ~= nil then
        tipOverride = mw.text.split(frame.args[4], ",")
    end
 
    local n = 1
    local result = ""
 
    while n <= table.getn(iconList) do
        newIcon = iconList[n]
        if gameIcon[newIcon] ~= nil then
            currentIcon = gameIcon[newIcon]
            if tipOverride ~= nil and tipOverride[n] ~= nil  and string.len(tipOverride[n]) > 0 then
                currentTip = tipOverride[n]
            else
                if iconLinks ~= nil and iconLinks[n] ~= nil and string.len(iconLinks[n]) > 0 then
                    currentTip = iconLinks[n]
                else
                    splitTip = mw.text.split(iconTip[newIcon], "|")
                    currentTip = splitTip[1]
                end
            end
        else
            currentIcon = "Icon question.png"
            currentTip = "Unrecognized icon name"
            result = result .. "[[Category:Modules with invalid parameters]]"
        end
 
        result = result .. '<span class="va-icon" title="' .. currentTip .. '">'
        result = result .. '[' .. '[File:' .. currentIcon .. '|' .. iconSetting
        if iconLinks ~= nil and iconLinks[n] ~= nil and iconLinks[n] ~= "" then
            result = result .. '|link=' .. iconLinks[n]
        else
            result = result .. '|link='
        end
        if currentTip ~= nil then
            result = result .. '|' .. currentTip
        end
 
        result = result .. ']]</span>'
        if n < table.getn(iconList) then
            result = result .. " "
        end
        n = n + 1
    end
 
    return result .. parserError
end
 
function p.platforms(frame)
    local icons = mw.text.split(frame.args[1], ",")
    local iconCount = 1
    local platformCheck = ""
    local result = ""
 
    while iconCount <= table.getn(icons) do
        currentIcon = iconTip[string.lower(icons[iconCount])]
        platformCheck = mw.text.split(currentIcon, "|")
        if platformCheck[2] ~= nil then
            result = result .. '<span style="display: none;">' .. "[[Has platform::"
            result = result .. platformCheck[1] .. ']]</span>'
            result = result .. '<span class="va-icon" title="' .. platformCheck[1] .. '">'
            result = result .. "[".."[File:" .. gameIcon[string.lower(icons[iconCount])] .. "|x14px|link=]]"
            result = result .. '</span>'
            if iconCount < table.getn(icons) then
                result = result .. "&nbsp;"
            end
        end
        iconCount = iconCount + 1
    end
    if result == "" then
        result = '<sup>[Platforms needed]</sup>[[Category:Platforms needed]]'
    end
 
    return result
end    
 
function p.Test(frame) 
    local iconList = mw.text.split(frame.args[1], ",")
    local parserError = ""
    local iconSetting
    if frame.args[2] ~= nil and string.len(frame.args[2]) > 0 then
        iconSetting = tostring(frame.args[2])
        if iconSize[iconSetting] ~= nil then
            iconSetting = iconSize[iconSetting]
        end
    else
        iconSetting = iconSize["medium"]
    end
 
    local iconLinks
    if frame.args[3] ~= nil then
        iconLinks = mw.text.split(frame.args[3], ",")
    end
 
    local tipOverride 
    if frame.args[4] ~= nil then
        tipOverride = mw.text.split(frame.args[4], ",")
    end
 
    local n = 1
    local result = ""
 
    while n <= table.getn(iconList) do
        newIcon = string.lower(iconList[n])
        if gameIcon[newIcon] ~= nil then
            currentIcon = gameIcon[newIcon]
            if tipOverride ~= nil and tipOverride[n] ~= nil  and string.len(tipOverride[n]) > 0 then
                currentTip = tipOverride[n]
            else
                if iconLinks ~= nil and iconLinks[n] ~= nil and string.len(iconLinks[n]) > 0 then
                    currentTip = iconLinks[n]
                else
                    splitTip = mw.text.split(iconTip[newIcon], "|")
                    currentTip = splitTip[1]
                end
            end
        else
            currentIcon = "Icon question.png"
            currentTip = "Unrecognized icon name"
            result = result .. "[[Category:Modules with invalid parameters]]"
        end
 
        result = result .. 'Current tip: <span title="' .. currentTip .. '">' .. currentTip .. "</span>: " .. string.len(currentTip) .. '\n'
 
        result = result .. ']]</span>'
        if n < table.getn(iconList) then
            result = result .. " "
        end
        n = n + 1
    end
 
    return result .. parserError
end
 
function p.documentation()
    keys = {}
    for k in pairs(gameIcon) do
        table.insert(keys, k)
    end
 
    table.sort(keys)
    result = '{| class="va-table va-table-full"\n|-\n !prefix!!Icon!!prefix!!Icon!!prefix!!Icon\n|-\n'
    set = 1
    for k,v in ipairs(keys) do
 
        result = result .. "||'''" .. v .. "'''"
        result = result .. "||[[File:" .. gameIcon[v] .. "|25px]]"
 
        if set == 3 then
            result = result .. "\n|-\n"
        end
 
        if set < 3 then
            set = set + 1
        else
            set = 1
        end
    end
 
    result = result .. "\n|}"
 
    return result
 
end
 
return p
Community content is available under CC-BY-SA unless otherwise noted.

Fandom may earn an affiliate commission on sales made from links on this page.

Stream the best stories.

Fandom may earn an affiliate commission on sales made from links on this page.

Get Disney+