Module:WeaponDPS: Difference between revisions
No edit summary |
No edit summary |
||
(32 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p.dps(frame) | 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 | end | ||
return p | return p |