Module:AttackSpell: Difference between revisions
From Ashenzari's Archive
More actions
imported>CommanderC No edit summary |
imported>CommanderC No edit summary |
||
| (10 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p.to_number(x) | |||
local n = string.gsub(x, ",", "") | |||
return tonumber(n) | |||
end | |||
function p.calc_hit(frame) | function p.calc_hit(frame) | ||
local hit_adder = | local hit_adder = p.to_number(frame.args[1]) | ||
local hit_num = | local hit_num = p.to_number(frame.args[2]) | ||
local hit_denom = | local hit_denom = p.to_number(frame.args[3]) | ||
local power = | local power = p.to_number(frame.args[4]) | ||
local powercap = | 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 | if not hit_adder or not hit_num or not hit_denom or not power or not powercap then | ||
return "" | return "" | ||
| Line 13: | Line 18: | ||
power = powercap | power = powercap | ||
end | end | ||
return tostring(hit_adder + power * hit_num / hit_denom) | 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 | end | ||
return p | return p | ||
Latest revision as of 18:55, 23 May 2014
Module, used to generate data for deprecated page List of attack spells and beams by maximum damage.
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