Module:WeaponDPS: Difference between revisions
Jump to navigation
Jump to search
No edit summary Tag: Reverted |
No edit summary |
||
(15 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
function p.dps(frame) | function p.dps(frame) | ||
local args = frame:getParent() | local args = frame.args | ||
local parent = frame:getParent() | |||
local str = tonumber(args.Strength or args. | local str = tonumber(args.Strength or parent.args.Strength) or 0 | ||
local ticks = tonumber(args. | local acc = tonumber(args.Accuracy or parent.args.Accuracy) or 0 | ||
local ticks = tonumber(args.Speed or parent.args.Speed) | |||
if | if (str == 0 and acc == 0) then return "No STR or ACC" end | ||
if not ticks then return "No speed" end | |||
end | |||
local maxHit = | local effectiveStr = str + acc | ||
local maxHit = effectiveStr / 14 | |||
local seconds = ticks * 0.6 | local seconds = ticks * 0.6 | ||
local dps = maxHit / seconds | local dps = maxHit / seconds | ||
return string.format( | return '<abbr title="Theoretical damage per second">' .. string.format('%.2f', dps) .. '</abbr>' | ||
end | end | ||
return p | return p |
Latest revision as of 19:30, 12 June 2025
Documentation for this module may be created at Module:WeaponDPS/doc
local p = {}
function p.dps(frame)
local args = frame.args
local parent = frame:getParent()
local str = tonumber(args.Strength or parent.args.Strength) or 0
local acc = tonumber(args.Accuracy or parent.args.Accuracy) or 0
local ticks = tonumber(args.Speed or parent.args.Speed)
if (str == 0 and acc == 0) then return "No STR or ACC" end
if not ticks then return "No speed" end
local effectiveStr = str + acc
local maxHit = effectiveStr / 14
local seconds = ticks * 0.6
local dps = maxHit / seconds
return '<abbr title="Theoretical damage per second">' .. string.format('%.2f', dps) .. '</abbr>'
end
return p