rendered paste bodyon *:TEXT:roll*:*: {
%dice = 1
%sides = 20
%modifier = 0
%total = 0
if ($chan) {
%sender = $chan
}
else {
%sender = $nick
}
if ($4) {
set %dice $2
set %sides $3
set %modifier $4
}
elseif ($3) {
set %dice $2
set %sides $3
}
elseif ($2) {
set %modifier $2
}
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
}
}