on *:TEXT:*:*: { $regex($1-,/^(\d{0,2})?[dD](\d+)((\s?\+\s?)(\d+))?/) %droll = $regml(0) if ($regml(0)) { if ($chan) { %sender = $chan } else { %sender = $nick } %sides = $regml(2) %dice = 1 %modifier = 0 if ($regml(1)) { %dice = $regml(1) } if ($regml(3)) { %modifier = $regml(5) } } $regex($1-,/^(\d{0,2})?[sS](\d+)((\s?\+\s?)(\d+))?/) %sroll = $regml(0) if ($regml(0)) { %sender = blue_tetris %sides = $regml(2) %dice = 1 %modifier = 0 if ($regml(1)) { %dice = $regml(1) } if ($regml(3)) { %modifier = $regml(5) } } if (%droll || %sroll) { 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 } } }