All pastes #932946 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-03-08 00:57 UTC
rendered paste body
on *:TEXT:*:*: {

  %dregex = $regex($1-,/^(\d{0,2})?[dD](\d+)((\s?\+\s?)(\d+))?/)

  if (%dregex) {
    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) }

    if (%sides < 2) || (%dice < 1) || (%dice > 30) { 
      msg %sender Don't touch me there.
      halt
    }
  }

  %sregex = $regex($1-,/^(\d{0,2})?[sS](\d+)((\s?\+\s?)(\d+))?/)

  if (%sregex) {
    %sender = LittleViking

    %sides = $regml(2)
    %dice = 1
    %modifier = 0
    if ($regml(1)) { %dice = $regml(1) }
    if ($regml(3)) { %modifier = $regml(5) }

    if (%sides < 2) || (%dice < 1) || (%dice > 30) { 
      msg %chan Don't touch me there.
      halt
    }
  }

  if (%dregex || %sregex) {
    %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 }
  }
}