Module:ModuleLevelTable

From The First Descendant Wiki
Revision as of 01:21, 4 June 2024 by Software2 (talk | contribs)

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

local p = {}

local parsedArray = {}

function parseCSV(csvString) -- csvString is one line
    local result = {}
    for value in string.gmatch(csvString, '([^,]+)') do
        table.insert(result, value)
    end
    return result
end

function p.process(frame)
    local csvText = frame.args[1] or ""
    local result = ""
    
    -- Put all the CSV lines into an array
    for line in csvText:gmatch("[^\r\n]+") do
        table.insert(parsedArray, parseCSV(line))
    end
    
    if #parsedArray == 0 then
        return "Error: ModuleLevelTable had no results. Report this to Discord!"
    end

    -- IMPORTANT! This assumes data is structured EXACTLY in this order! 
    --1 Nonsensical invoking ID
    --2 |?Module:Name
    --3 |?Module:Rarity
    --4 |?Module:Socket
    --5 |?Module:Class
    --6 |?Module:MaxEnhancementLevel
    --7 |?Module:CapacityCost0
    --8 |?Module:ExclusiveCategory
    --9 |?Module:Effect0
    --10 |?Module:Effect1
    --11 |?Module:Effect2
    --12 |?Module:Effect3
    --13 |?Module:Effect4
    --14 |?Module:Effect5
    --15 |?Module:Effect6
    --16 |?Module:Effect7
    --17 |?Module:Effect8
    --18 |?Module:Effect9
    --19 |?Module:Effect10
    
    
    
    return result[1]
end

return p