All pastes #931469 Raw Edit

Someone

public text v1 · immutable
·published 2008-03-07 06:07 UTC
rendered paste body
on *: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
    }
  }
}