Module:WeaponDPS: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(33 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 |
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