Module:PartVariables

From JoJo's Bizarre Encyclopedia - JoJo Wiki
Revision as of 05:31, 28 September 2024 by Vish (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:PartVariables/doc

local p = {}

local abbreviations = {
    PB = "Phantom Blood",
    BT = "Battle Tendency",
    SC = "Stardust Crusaders",
    SDC = "Stardust Crusaders",
    DU = "Diamond is Unbreakable",
    DIU = "Diamond is Unbreakable",
    VA = "Vento Aureo",
    GW = "Golden Wind",
    SO = "Stone Ocean",
    SBR = "Steel Ball Run",
    JJL = "JoJolion",
    TJL = "The JOJOLands",
    TSKR = "Thus Spoke Kishibe Rohan",
    CDDH = "Crazy Diamond's Demonic Heartbreak",
    Baoh = "Baoh the Visitor",
    ["JORGE JOESTAR"] = "JORGE JOESTAR",
    CSBT = "Cool Shock B.T.",
    ["Cool Shock Old B.T."] = "Cool Shock Old B.T.",
    CSOBT = "Cool Shock Old B.T.",
    ["Gorgeous Irene"] = "Gorgeous Irene",
    Eccentrics = "The Lives of Eccentrics",
    ["Purple Haze Feedback"] = "Purple Haze Feedback",
    ["The Book"] = "The Book ~jojo's bizarre adventure 4th another day~",
    ["Crazy Heartbreakers"] = "Crazy Heartbreakers",
    ["rey infinito"] = "rey infinito",
    ["El Aleph"] = "El Aleph",
    ASBR = "All-Star Battle R",
    EoH = "Eyes of Heaven",
    ASB = "All-Star Battle"
}

function p.getAbbreviations()
    return abbreviations
end

function p.main(frame)
    local input = frame.args[1]
    
    -- Special Cases
    for abbreviation, full_name in pairs(abbreviations) do
        if string.find(input, abbreviation) == 1 then
        	if abbreviation == "CDDH" then
        		return "''[[Crazy Diamond's Demonic Heartbreak]]''"
        	elseif abbreviation == "JORGE JOESTAR" then
    			return "''[[JORGE JOESTAR (Novel)|JORGE JOESTAR]]'' " .. string.sub(input, #abbreviation + 2)
    		else
            	return "''[[" .. full_name .. "]]'' " .. string.sub(input, #abbreviation + 2)
            end
        end
    end
    return input
end

return p