Module:Test: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 41: Line 41:
     local labels = {"Drop Rate", "Donator", "Super donator", "Extreme donator", "Legendary donator", "Royal donator"}
     local labels = {"Drop Rate", "Donator", "Super donator", "Extreme donator", "Legendary donator", "Royal donator"}
      
      
     -- Format the result as a table with red background color
     -- Format the result as a table with red background color for bottom cells
     local resultTable = '{| class="wikitable"\n'
     local resultTable = '{| class="wikitable"\n'
     resultTable = resultTable .. '|-\n'
     resultTable = resultTable .. '|-\n'
     resultTable = resultTable .. '! style="background-color: red; color: white;" | ' .. table.concat(labels, ' !! style="background-color: red; color: white;" | ') .. '\n|-\n'
     resultTable = resultTable .. '! ' .. table.concat(labels, ' !! ') .. '\n|-\n'
     resultTable = resultTable .. '| ' .. table.concat(percentages, ' || ') .. '\n|}'
    resultTable = resultTable .. '| ' .. table.concat(percentages, ' || ') .. '\n|-\n'
     resultTable = resultTable .. '| style="background-color: #800000; color: white;" | ' .. table.concat(percentages, ' || ') .. '\n|}'
      
      
     return resultTable
     return resultTable

Revision as of 23:10, 3 April 2024

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

-- This is a Lua module for MediaWiki
-- It provides functionality to calculate percentages of a number

-- Create a table to hold the functions
local Test = {}

-- Function to calculate percentages
function Test.calculatePercentages(frame)
    local args = frame.args
    local dropRate = args[1] or "0/1" -- Extract the drop rate from the args, default to "0/1"
    
    -- Parsing the drop rate
    local numerator, denominator = dropRate:match("(%d+)/(%d+)")
    denominator = tonumber(denominator) or 1 -- Convert denominator to a number or default to 1
    
    local percentages = {}
    -- Original number
    table.insert(percentages, dropRate)
    -- Donator (85% of original drop rate)
    local donatorDenominator = math.floor(denominator * 0.85)
    local donator = string.format("%d/%d", numerator, donatorDenominator)
    table.insert(percentages, donator)
    -- Super donator (75% of original drop rate)
    local superDonatorDenominator = math.floor(denominator * 0.75)
    local superDonator = string.format("%d/%d", numerator, superDonatorDenominator)
    table.insert(percentages, superDonator)
    -- Extreme donator (70% of original drop rate)
    local extremeDonatorDenominator = math.floor(denominator * 0.70)
    local extremeDonator = string.format("%d/%d", numerator, extremeDonatorDenominator)
    table.insert(percentages, extremeDonator)
    -- Legendary donator (65% of original drop rate)
    local legendaryDonatorDenominator = math.floor(denominator * 0.65)
    local legendaryDonator = string.format("%d/%d", numerator, legendaryDonatorDenominator)
    table.insert(percentages, legendaryDonator)
    -- Royal donator (60% of original drop rate)
    local royalDonatorDenominator = math.floor(denominator * 0.60)
    local royalDonator = string.format("%d/%d", numerator, royalDonatorDenominator)
    table.insert(percentages, royalDonator)
    
    -- Custom labels
    local labels = {"Drop Rate", "Donator", "Super donator", "Extreme donator", "Legendary donator", "Royal donator"}
    
    -- Format the result as a table with red background color for bottom cells
    local resultTable = '{| class="wikitable"\n'
    resultTable = resultTable .. '|-\n'
    resultTable = resultTable .. '! ' .. table.concat(labels, ' !! ') .. '\n|-\n'
    resultTable = resultTable .. '| ' .. table.concat(percentages, ' || ') .. '\n|-\n'
    resultTable = resultTable .. '| style="background-color: #800000; color: white;" | ' .. table.concat(percentages, ' || ') .. '\n|}'
    
    return resultTable
end

-- Export the module
return Test