Anonymous

Module:Calculator/ETA: Difference between revisions

From Melvor Idle
m
Use local functions
m (Fix erroneous calculation of time remainder)
m (Use local functions)
Line 4: Line 4:
local shared = require('Module:Shared')
local shared = require('Module:Shared')


function p._formatTime(timeInHundredths)
local function formatTime(timeInHundredths)
     local sec = math.floor(timeInHundredths / 100)
     local sec = math.floor(timeInHundredths / 100)
     local min = math.floor(timeInHundredths / 60000)
     local min = math.floor(timeInHundredths / 60000)
Line 17: Line 17:
end
end


function p._addTableRow(tbl, c1, c2)
local function addTableRow(tbl, c1, c2)
tbl:tag("tr")
tbl:tag("tr")
:tag("th"):wikitext(c1)
:tag("th"):wikitext(c1)
Line 25: Line 25:
end
end


function p._calc(currentExp, targetLvl, expPerAction, actionTime)
local function calc(currentExp, targetLvl, expPerAction, actionTime)
-- ActionTime is represented in hundreds of a second.
-- ActionTime is represented in hundreds of a second.
-- 1.6 seconds = 160
-- 1.6 seconds = 160
Line 38: Line 38:
         :addClass("wikitable sticky-header text-align-right align-left-1")
         :addClass("wikitable sticky-header text-align-right align-left-1")


p._addTableRow(tbl, "Current Experience", shared.formatnum(currentExp))
addTableRow(tbl, "Current Experience", shared.formatnum(currentExp))
p._addTableRow(tbl, "Target Level", targetLvl)
addTableRow(tbl, "Target Level", targetLvl)
p._addTableRow(tbl, "Target Experience", shared.formatnum(targetExp))
addTableRow(tbl, "Target Experience", shared.formatnum(targetExp))
p._addTableRow(tbl, "Experience Remaining", shared.formatnum(expRemaining))
addTableRow(tbl, "Experience Remaining", shared.formatnum(expRemaining))
p._addTableRow(tbl, "Actions Left", shared.formatnum(actionsToTarget))
addTableRow(tbl, "Actions Left", shared.formatnum(actionsToTarget))
p._addTableRow(tbl, "Time Left", p._formatTime(timeToTarget))
addTableRow(tbl, "Time Left", formatTime(timeToTarget))


     return tostring(tbl)
     return tostring(tbl)
Line 67: Line 67:
end
end
return p._calc(currentExp, targetLvl, actionExp, actionTime)
return calc(currentExp, targetLvl, actionExp, actionTime)
end
end


return p
return p
1,048

edits