rendered paste bodyon *:TEXT:*:*: {
$regex($1-,/^(\d{0,2})?[dD](\d+)((\s?\+\s?)(\d+))?)
if ($regml(0)) {
%dice = 1
%sides = 20
%modifier = 0
%total = 0
if ($chan) {
%sender = $chan
}
else {
%sender = $nick
}
if ($regml(1)) {
%dice = $regml(1)
}
if ($regml(2)) {
%sides = $regml(2)
}
if ($regml(3)) {
%modifier = $regml(5)
}
if (%dice !isnum) || (%sides !isnum) || (%modifier !isnum) || (%dice < 1) || (%sides < 2) || (%dice > 30) {
msg %sender INVALID PARAMETERS!
halt
}
%i = 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
}
}
}