Module:Sandbox/LVL: Difference between revisions

From The Deadlock Wiki
Jump to navigation Jump to search
LVL (talk | contribs)
No edit summary
LVL (talk | contribs)
No edit summary
Line 2: Line 2:


-- Get NPC data values (you may need to adjust these based on your wiki's implementation)
-- Get NPC data values (you may need to adjust these based on your wiki's implementation)
local baseValue = 20 -- This should match {{NpcData|neutral_sinners_sacrifice|GoldReward}}
local baseValue = 164 -- This should match {{NpcData|neutral_sinners_sacrifice|GoldReward}}
local bonusPercentPerMinute = 0.02 -- This should match {{NpcData|neutral_sinners_sacrifice|GoldRewardBonusPercentPerMinute}} / 100
local bonusPercentPerMinute = 0.0108 --  
 
function p.calculatePayouts(frame)
function p.calculatePayouts(frame)
     local time = tonumber(frame.args[1]) or 0
     local time = tonumber(frame.args[1]) or 0

Revision as of 18:04, 16 November 2025

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

local p = {}

-- Get NPC data values (you may need to adjust these based on your wiki's implementation)
local baseValue = 164 -- This should match {{NpcData|neutral_sinners_sacrifice|GoldReward}}
local bonusPercentPerMinute = 0.0108 -- 
function p.calculatePayouts(frame)
    local time = tonumber(frame.args[1]) or 0
    
    -- Calculate total soul value
    local totalValue = math.floor((baseValue + (baseValue * bonusPercentPerMinute * time)) * 2)
    
    -- Calculate individual payouts
    local lightMelee = math.floor(totalValue / 20 + 0.5) -- Adding 0.5 for proper rounding
    local heavyMelee = math.floor(totalValue / 10 + 0.5)
    local finalHit = math.floor(totalValue / 2 + 0.5) + math.floor(totalValue / 10 + 0.5)
    
    -- Return JSON format for easy parsing by JavaScript
    return mw.text.jsonEncode({
        total = totalValue,
        light = lightMelee,
        heavy = heavyMelee,
        final = finalHit
    })
end

return p