Module:AttackSpell
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