Module:WillpowerCooldownTable: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 16: | Line 16: | ||
local baseCooldown = args.basecooldown | local baseCooldown = args.basecooldown | ||
local result = "<table class=\"willpower-cooldown-table\" | local result = "<table class=\"willpower-cooldown-table\"><tr>" | ||
for c=0,3 do --header row | for c=0,3 do --header row | ||
Line 38: | Line 38: | ||
end | end | ||
result = result .. " | result = result .. "</table>" | ||
return result | return result |
Revision as of 16:43, 18 January 2021
Creates a willpower-to-cooldown table, given a base cooldown value. For more information, refer to Template:Willpower_cooldown_table.
local WillpowerCooldownTable = {}
local ProcessArgs = require'Module:ProcessArgs'
function WillpowerCooldownTable.calcCooldown(willpower, basecooldown)
local internalCooldown = basecooldown * 10.0
local wpAdjustedCooldown = math.floor((internalCooldown * (100.0 - ((willpower - 16.0) * 5.0))) / 100.0)
local minimumCooldown = math.max(math.floor(internalCooldown * 0.2 + 0.5), math.min(50.0, internalCooldown))
local calculatedCooldown = math.max(wpAdjustedCooldown, minimumCooldown)
local finalCooldown = math.ceil(calculatedCooldown / 10.0)
return finalCooldown
end
function WillpowerCooldownTable.makeTable(frame)
local args = ProcessArgs.merge(true)
local baseCooldown = args.basecooldown
local result = "<table class=\"willpower-cooldown-table\"><tr>"
for c=0,3 do --header row
result = result .. "<th class=\"cd-wi-header\">WI</th>"
result = result .. "<th class=\"cd-cd-header\">CD</th>"
end
result = result .. "</tr>"
local rowWP = 9
for r=0,5 do --rows
result = result .. "<tr>"
for c=0,3 do --column groups
local wp = rowWP + (c * 6)
local cd = WillpowerCooldownTable.calcCooldown(wp, baseCooldown)
result = result .. "<td class=\"cd-wi-cell\">" .. wp .. "</td>"
result = result .. "<td class=\"cd-cd-cell\">" .. cd .. "</td>"
end
result = result .. "</tr>"
rowWP = rowWP + 1
end
result = result .. "</table>"
return result
end
return WillpowerCooldownTable