Module:Ticks: Difference between revisions
Created page with "local p = {} function p.display(frame) local args = frame:getParent().args local amount = tonumber(args["amount"]) or 0 local seconds = amount * 0.6 local roundedSeconds = math.floor(seconds + 0.5) -- round to nearest whole number return string.format("%d Ticks (%ds)", amount, roundedSeconds) end return p" |
No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
function p.display(frame) | function p.display(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local amount = tonumber(args["amount"]) or 0 | local amount = tonumber(args[1] or args["amount"]) or 0 | ||
local seconds = amount * 0.6 | local seconds = amount * 0.6 | ||
local | |||
return string.format("% | local timeDisplay | ||
local minutes = seconds / 60 | |||
if seconds >= 120 then | |||
if minutes == math.floor(minutes) then | |||
timeDisplay = string.format('<abbr title="Time in minutes">%.0fm</abbr>', minutes) | |||
elseif (minutes * 10) % 5 == 0 then -- divisible by 0.5 | |||
timeDisplay = string.format('<abbr title="Time in minutes">%.1fm</abbr>', minutes) | |||
end | |||
end | |||
if not timeDisplay then | |||
-- Fall back to seconds with 1 decimal place, strip .0 if present | |||
local secondsFormatted = string.format("%.1f", seconds):gsub("%.0$", "") | |||
timeDisplay = string.format('<abbr title="Time in seconds">%ss</abbr>', secondsFormatted) | |||
end | |||
return string.format("%s [[Ticks]] <small>(%s)</small>", tostring(amount):reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", ""), timeDisplay) | |||
end | end | ||
return p | return p |