rendered paste bodyon *:TEXT:*:#dnd: {
%dndregex = $regex($1-,/^(\d{0,2})?([dD]|[sS])(\d+)(\s?(\+|-)\s?(\d+))?/)
if (%dndregex) {
if ($chan) { %sender = $chan }
else { %sender = $nick }
if ($regml(2) isin "sS") { %sender = blue_tetris }
%sides = $regml(3)
%dice = 1
%modifier = 0
if ($regml(1)) { %dice = $regml(1) }
if ($regml(5) isin "+") { %modifier = $regml(6) }
elseif ($regml(5) isin "-") { %modifier = -1 * $regml(6) }
if (%sides < 2) || (%dice < 1) || (%dice > 30) {
msg %sender Don't touch me there.
halt
}
%i = 0
%total = 0
while (%i < %dice) {
%i = %i + 1
%roll = $rand(1,%sides)
msg %sender Roll %i $+ : %roll
%total = %total + %roll
}
if (%modifier != 0) { msg %sender $+ $nick $+ : %total + %modifier = $calc(%total + %modifier) }
else { msg %sender $+ $nick $+ : %total }
}
}