All pastes #904770 Raw Edit

Unnamed

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