71
editsAd placeholder
Module:DiceUtils: Difference between revisions
Jump to navigation
Jump to search
Undo revision 19565 by NamelessWonder (talk)
No edit summary Tag: Reverted |
(Undo revision 19565 by NamelessWonder (talk)) Tags: Undo Reverted |
||
Line 22: | Line 22: | ||
Slashing = {} | Slashing = {} | ||
} | } | ||
for damage_die in string.gmatch(args.dice, "([^,]+)") do | for damage_die in string.gmatch(args.dice, "([^,]+)") do | ||
idx = string.find(damage_die, ":") | idx = string.find(damage_die, ":") | ||
Line 28: | Line 28: | ||
d_type = string.sub(damage_die, idx + 1) | d_type = string.sub(damage_die, idx + 1) | ||
table.insert( | table.insert(damage[d_type], die) | ||
end | end | ||
return table.concat( | |||
for d_type, dice in pairs(damage) do | |||
if not next(dice) == nil then | |||
min_damage = 0 | |||
max_damage = 0 | |||
avg_str = "" | |||
for i, die in ipairs(dice) do | |||
idx = string.find(die, "d") | |||
count = tonumber(string.sub(die, 1, idx -1)) | |||
value = tonumber(string.sub(die, idx + 1)) | |||
min_damage = min_damage + count | |||
max_damage = max_damage + value * count | |||
avg_str = string.format("(%d - %d)", min_damage, max_damage) | |||
end | |||
damage_str = string.format("%s %s %s", table.concat(dice, " + "), d_type, avg_str) | |||
table.insert(damage_str) | |||
end | |||
end | |||
return table.concat(result, " ") | |||
end | end | ||
return p | return p |