Module:AttackSpell
Revision as of 19:55, 23 May 2014 by CommanderC (talk | contribs)
Documentation for this module may be created at Module:AttackSpell/doc
local p = {}
function p.to_number(x)
local n = string.gsub(x, ",", "")
return tonumber(n)
end
function p.calc_hit(frame)
local hit_adder = p.to_number(frame.args[1])
local hit_num = p.to_number(frame.args[2])
local hit_denom = p.to_number(frame.args[3])
local power = p.to_number(frame.args[4])
local powercap = p.to_number(frame.args[5])
if not hit_adder or not hit_num or not hit_denom or not power or not powercap then
return ""
end
if power > powercap then
power = powercap
end
return tostring(math.ceil(hit_adder + power * hit_num / hit_denom))
end
function p.calc_damage(frame)
local hit_adder = p.to_number(frame.args[1])
local hit_num = p.to_number(frame.args[2])
local hit_denom = p.to_number(frame.args[3])
local power = p.to_number(frame.args[4])
local powercap = p.to_number(frame.args[5])
local resistance = p.to_number(frame.args[6])
if not hit_adder or not hit_num or not hit_denom or not power or not powercap or not resistance then
return ""
end
if power > powercap then
power = powercap
end
return tostring(math.ceil((hit_adder + power * hit_num / hit_denom) / resistance))
end
return p