Module:Sandbox/LVL: Difference between revisions

Jump to navigation Jump to search
LVL (talk | contribs)
Blanked the page
Tags: Blanking Manual revert
LVL (talk | contribs)
No edit summary
Line 1: Line 1:
-- Module:Souls
-- Handles calculations related to Sinner's Sacrifice rewards.


local p = {}
-- CONFIGURATION
-- IMPORTANT: These values are taken from the NpcData templates. If the game is patched,
-- update these numbers here to update the calculator everywhere it's used.
local baseValue = 164 -- Corresponds to NpcData|neutral_sinners_sacrifice|GoldReward
local bonusPercent = 1.08 -- Corresponds to NpcData|neutral_sinners_sacrifice|GoldRewardBonusPercentPerMinute
-- This is the main calculation function called from wikitext.
function p.calculate(frame)
    -- Get the 'time' argument passed from the template.
    local timeArg = frame.args.time
    if not timeArg or timeArg == '' then
        return '<span class="error">Error: No time specified.</span>'
    end
    local time = tonumber(timeArg)
    if not time or time < 0 then
        return '<span class="error">Error: Invalid time. Please enter a positive number.</span>'
    end
    -- The calculation formula from the article.
    local totalValue = math.floor((baseValue + (baseValue * (bonusPercent / 100) * time)) * 2)
    -- Return the formatted result.
    -- We are manually adding the soul icon formatting here.
    return '[[File:Souls Icon.png|16x16px|Souls]] ' .. totalValue
end
return p