All pastes #840190 Raw Edit

Untitled

public text v1 · immutable
#840190 ·published 2007-12-31 16:00 UTC
rendered paste body
alias dmc1 return $+(,$iif($dms(c1),$v1,14),$$1-) 
alias dmc2 return $+(,$iif($dms(c2),$v1,10),$$1-) 
on *:START: { 
  hmake dm 1 
  hmake dma 1 
  hload dm dm.txt 
  hload dma dma.txt 
} 
alias hpbar { 
  var %g $round($calc($$1 /5),-1), %r $calc(20 - %g), %x 1 
  var %t $right(0 $+ $1,-1) 
  while (%x < 21) { 
    var %c $iif(%x isnum 1- $+ %g,09,04) 
    if (%x isnum 10-11) { var %m $+(,01,$chr(44),%c,$mid(%t,$calc(%x -9),1)) } 
    else { var %m $+(,%c,$chr(44),%c,$chr(160)) } 
    var %re %re $+ %m 
    inc %x 
  } 
  return %re $+  
} 
on $*:TEXT:/^[!.@]dmset(tings)?\s.+/Si:#: { 
  if ($wildsite = $address($me,2)) || ($admin($nick) && $dms(set) ) { 
    if ($istok(sharks timeout timer barrage,$2,32) && $3 isnum) { 
      dms $2 $$3 
      notice $nick [DM] DM setting $2 is now $3- 
      hsave dm dm.txt 
      var %set . 
    } 
    elseif ($istok(c1 c2,$2,32) && $3 isnum 0-15) { 
      dms $2 $right(0 $+ $$3,2) 
      notice $nick [DM] $2 is now color $dms($2) 
      hsave dm dm.txt 
      var %set . 
    } 
    elseif ($istok(timeout[st] hpbar gmaul dbow,$2,32) && $istok($true $false on off,$3,32)) { 
      dms $2 $iif($istok($true on,$3,32),$true,$false) 
      notice $nick [DM] DM setting $2 is now $3 
      hsave dm dm.txt 
      var %set . 
    } 
    else notice $nick [DM] Incorrect syntax. Type !dmcmds and scroll down on the webpage for the admin commands. 
  } 
  if ($2 = set && $wildsite = $address($me,2) && $istok(admin owner,$3,32)) { 
    dms $2 $iif($3 = admin,$true,$false) 
    notice $nick [DM] $iif($3 = owner,Only owners can set settings now.,Admins and owners can set settings now.) 
    hsave dm dm.txt 
    var %set . 
    else notice $nick [DM] Incorrect syntax. Type !dmcmds and scroll down on the webpage for the admin commands. 
  } 
  elseif ($wildsite != $address($me,2) || !$admin($nick) && $dms(set)) { notice $nick [DM] You do not have sufficient access to set DM settings. } 
} 
alias dms $iif($isid,return $hget(dm,$1-),hadd -m dm $$1-) 
alias dm $iif($isid,return $hget(dm $+ #,$1-),hadd -m dm $+ # $$1-) 
alias dm1 $iif($isid,return $hget(dm1 $+ #,$1-),hadd -m dm1 $+ # $$1-) 
alias dm2 $iif($isid,return $hget(dm2 $+ #,$1-),hadd -m dm2 $+ # $$1-) 
alias dmt { 
  if ($isid) return $hget($+(dm,$dm(t),#),$1-) 
  else { 
    if ($1 = -d) hdec $+(dm,$dm(t),#) $2- 
    if ($1 = -i) hinc $+(dm,$dm(t),#) $2- 
    else hadd -m $+(dm,$dm(t),#) $1- 
  } 
} 
alias dmo { 
  if ($isid) return $hget($+(dm,$dm(o),#),$1-) 
  else { 
    if ($1 = -d) hdec $+(dm,$dm(o),#) $2- 
    if ($1 = -i) hinc $+(dm,$dm(o),#) $2- 
    else hadd -m $+(dm,$dm(o),#) $1- 
  } 
} 
alias dma { 
  hadd -m dm1 $+ # $$1- 
  hadd -m dm2 $+ # $$1- 
} 
alias updatehs { filter -ac DMs.txt DMo.txt sort } 
alias sort { 
  if ($token($1,1,32) > $token($2,1,32)) return -1 
  elseif ($v1 = $v2) return 0 
  return 1 
} 
alias score { 
  if ($read(dms.txt,w,* $1)) { write -l $+ $readn dms.txt $calc(1+ $token($v1,1,32)) $token($v1,2,32) $1 } 
  else { write dms.txt 1 0 $1 } 
  if ($read(dms.txt,w,* $2)) { write -l $+ $readn dms.txt $token($v1,1,32) $calc(1+ $token($v1,2,32)) $2 } 
  else { write dms.txt 0 1 $2 } 
  msg $3 $dmc1([DM]) $dmc2(Wins) $+ $dmc1(: $1) $dmc2($wins($1)) $dmc1($chr(44) $2) $dmc2($wins($2)) $dmc1($chr(124)) $dmc2(Losses) $+ $dmc1(: $1) $dmc2($loss($1)) $dmc1($chr(44) $2) $dmc2($loss($2)) 
  updatehs 
} 
on $*:TEXT:/^[!.@](dm ?)?top([3-9]|1[0-5]) ?(win(ner)?s?)?$/Si:#: { 
  var %n $iif($regml(1) isnum,$v1,$regml(2)) 
  var %x 1 
  while ($read(dmo.txt,%x) && %x <= %n) { 
    var %read $read(dmo.txt,%x) 
    var %msg %msg $dmc1($chr(124)) $dmc2(%x) $+ $dmc1(: $token(%read,3,32) [) $+ $dmc2($token(%read,1,32))) $+ $dmc1($chr(93)) 
    inc %x 
  } 
  $iif($left($1,1) = @,msg #,notice $nick) $dmc1([DM] Top %x) $dmc2(Wins) 
  $iif($left($1,1) = @,msg #,notice $nick) $token(%msg,2-,32) 
} 
on $*:TEXT:/^[!.@](rank|score) \S+$/Si:#: { 
  var %way $iif($left($1,1) = @,msg #,notice $nick) 
  if ($read(dmo.txt,w,* $2)) { 
    tokenize 32 $v1 
    var %wpc $round($calc(($1 / ($1 + $2))* 100),3) 
    var %lpc $calc(100 - %wpc) 
    %way $dmc1([DM] Score for) $dmc2($3) $+ $dmc1(: Rank:) $dmc2($readn) $dmc1(Wins-) $dmc2($1) $dmc1(Losses-) $dmc2($2) $dmc1($chr(124) Win - Loss Perecentage:) $dmc2(%wpc $+ %) $dmc1(-) $dmc2(%lpc $+ %) 
  } 
  else %way $dmc1([DM]) $dmc2($2) $dmc1(not found in the DM highscores.) 
} 
alias wins return $token($$read(dms.txt,w,* $$1),1,32) 
alias loss return $token($$read(dms.txt,w,* $$1),2,32) 
on $*:TEXT:/^[!.@](start)?(d(eath)?m(atch)?|fight)$/Si:#: { 
  if (!$dm(open)) { 
    dm1 name $nick 
    dm open $true 
    msg # $dmc1([DM]) $dmc2($nick) $dmc1(has initiated a DM. Type) $dmc2($1) $dmc1(in the next) $dmc2($iif($dms(timer),$v1,30)) $dmc1(seconds to accept the challenge.) 
    .timer 1 1 msg # $dmc1([DM] Type) $dmc2(!dmcommands) $dmc1(for a list of DM commands.) 
    .timerdmo $+ # 1 $iif($dms(timer),$v1,30) checkdm # 
  } 
  elseif ($dm(open) && !$dm2(name) && $wildsite != $address($dm1(name),2)) { 
    msg # $dmc1([DM]) $dmc2($nick) $dmc1(has accepted) $dmc2($dm1(name)) $+ $dmc1('s challenge.) 
    dm2 name $nick 
    dma hp 99 
    dma spec 100 
    dma sharks $iif($dms(sharks),$v1,5) 
    dma barrages $iif($dms(barrage),$v1,6) 
    dma frozen $false 
    dm t $r(1,2) 
    dm o $iif($dm(t) = 1,2,1) 
    .timerdmo $+ # off 
    .timer 1 1 msg # $dmc1([DM] It is now) $dmc2($dmt(name)) $+ $dmc1('s turn.) 
    if ($dms(timeout[st])) .timertimeout $+ # 1 $iif($dms(timeout),$v1,60) timeout # 
  } 
  elseif ($wildsite = $address($dm1(name),2)) { msg # $dmc1([DM]) $dmc2($nick) $dmc1(wants to battle themself. Smart $+ $chr(44) eh?) } 
  elseif ($dm(open) && $dm2(name)) { notice $nick [DM] Sorry, there is already a DM going on between $dm1(name) and $dm2(name) $+ . } 
} 
on $*:TEXT:/^[!.@](s(top)?(d(eath)?m(atch)?|fight)|d(eath)?m(atch)?(off|stop))$/Si:#: { 
  if ($wildsite = $address($me,2) || $admin($nick) || $dm1(name) = $nick || $dm2(name) = $nick && $dm(open)) { 
    msg # $dmc1([DM] DM halted by) $dmc2($nick) $+ $dmc1(.) 
    dmhalt # 
  } 
  elseif (!$dm(open) && $wildsite = $address($me,2) || $admin($nick) || $dm1(name) = $nick || $dm2(name) = $nick) { notice $nick [DM] There is no DM currently going on. } 
  else notice $nick $iif($dm(open),[DM] You have to be in the DM to stop it.,[DM] There is no DM currently.) 
} 
alias checkdm { 
  msg $$1 $dmc1([DM] DM automatically halted after) $dmc2($dms(timer)) $dmc1(seconds.) 
  dmhalt $1 
} 
alias dmhalt { 
  hfree dm1 $+ $$1 
  if ($hget(dm2 $+ $1)) hfree $v1 
  hfree dm $+ $1 
  .timerdmo $+ $1 off 
  .timertimeout $+ $1 off 
} 
on $*:TEXT:/^[!.@](add|(rem(ove)?|del(ete)?))(admin|staff) /Si:#: { 
  if ($regml(1) = add) { 
    if ($wildsite = $address($me,2) && !$admin($$2)) { 
      hadd -m dma $address($2,2) $true 
      hsave dma dma.txt 
      notice $nick [DM] $2 added to the admin list 
    } 
    elseif ($wildsite = $address($me,2) && $admin($2)) { notice $nick [DM] $2 is already an admin. } 
    else notice $nick [DM] You do not have sufficient access to add/remove admins. 
  } 
  else { 
    if ($wildsite = $address($me,2) && $admin($$2)) { 
      hdel dma $address($2,2) 
      notice $nick [DM] $2 removed from the admin list. 
      hsave dma dma.txt 
    } 
    elseif ($wildsite = $address($me,2) && !$admin($$2)) { notice $nick [DM] $2 is not an admin. } 
  else notice $nick [DM] You do not have sufficient access to add/remote admins. } 
} 
alias admin return $iif($hget(dma,$address($$1,2)),$true,$false) 
alias turn { 
  if ($dmt(frozen)) { 
    var %r $r(1,4) 
    if (%r isnum 1-3) { dmt frozen $false } 
    msg # $dmc1([DM]) $dmc2($dmt(name)) $dmc1(attempts to break out of his ice cube and...) $dmc2($iif($dmt(frozen),fails.,succeeds!)) 
    if (!$dmt(frozen)) { msg # $dmc1([DM]) $dmc2($dmt(name)) $dmc1(is not frozen anymore.) } 
  } 
  dm t $iif($dm(t) = 1,2,1) 
  dm o $iif($dm(t) = 1,2,1) 
  if ($dms(timeout[st])) .timertimeout $+ # 1 $iif($dms(timeout),$v1,60) timeout # 
} 
alias timeout { 
  msg $$1 $dmc1([DM] DM halted due to) $dmc2($iif($dms(timeout),$v1,60)) $dmc1(seconds of inactivity.) 
  dmhalt # 
} 

on $*:TEXT:/^[!.@]whip$/Si:#: { 
  if ($nick = $dmt(name) && !$dmt(frozen)) { 
    var %hit $r(1,40) 
    if ($calc($dmo(hp) - %hit) < 1) { 
      var %hit $dmo(hp) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with a) $dmc2(Abyssal Whip) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with a) $dmc2(Abyssal Whip) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($nick = $dmt(name) && $dmt(frozen)) { notice $nick [DM] You're frozen, you can't use the whip. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@]dd(s|p\+?\+?)$/Si:#: { 
  if ($nick = $dmt(name) && !$dmt(frozen) && $dmt(spec) > 24) { 
    var %hit1 $r(1,30) 
    var %hit2 $r(1,30) 
    if ($calc($dmo(hp) - %hit1 - %hit2) < 1) { 
      var %hit1 $iif($calc($dmo(hp) - %hit1) < 1,$dmo(hp),$v1) 
      var %hit2 $calc($dmo(hp) - %hit1) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(with a) $dmc2(DDS) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit1 
      dmo -d hp %hit2 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(with a) $dmc2(DDS) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      dmt -d spec 25 
      notice $nick Your special bar is now at $dmt(spec) $+ % $+ . 
      turn 
    } 
  } 
  elseif ($nick = $dmt(name) && $dmt(frozen)) { notice $nick [DM] You're frozen, you can't use the DDS. } 
  elseif ($nick = $dmt(name) && $dmt(spec) < 25) { notice $nick [DM] You do not have enough percent in your special bar. It's at $dmt(spec) $+ % $+ . You need at least 25%. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@](eat|shark|heal)$/Si:#: { 
  if ($nick = $dmt(name)) { 
    var %heal $iif($calc($dmt(hp) +20) > 99,$calc(99 - $dmt(hp)),20) 
    if ($dmt(sharks) = 0) { notice $nick [DM] You have ran out of sharks. } 
    elseif ($dmt(sharks) > 0) { 
      dmt -i hp %heal 
      dmt -d sharks 1 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just ate a) $dmc2(shark) $dmc1(and now has) $dmc2($iif($dms(hpbar),$hpbar($dmt(hp)),$dmt(hp))) $dmc1(hp.) 
      notice $nick [DM] You have $dmt(sharks) sharks left. 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn. } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@](blood|b(lood)? ?barrage)$/Si:#: { 
  if ($nick = $dmt(name) && $dmt(barrages) > 0) { 
    var %hit $r(1,30) 
    if ($calc($dmo(hp) - %hit) < 1) { 
      var %hit $dmo(hp) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with) $dmc2(Blood Barrage) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      var %heal $iif($calc($dmt(hp) + %hit) > 99,$calc(99 - $dmt(hp)),%hit) 
      dmo -d hp %hit 
      dmt -d barrages 1 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with) $dmc2(Blood Barrage) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(has healed) $dmc2(%heal) $dmc1(hp and now has) $dmc2($iif($dms(hpbar),$hpbar($dmt(hp)),$dmt(hp))) $dmc1(hp.) 
      notice $nick [DM] You have $dmt(barrages) barrages left. 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($dmt(barrages) < 1) { notice $nick [DM] You have run out of barrages. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@](ice|i(ce)? ?barrage)$/Si:#: { 
  if ($nick = $dmt(name) && $dmt(barrages) > 0) { 
    var %hit $r(1,30) 
    if ($calc($dmo(hp) - %hit) < 1) { 
      var %hit $dmo(hp) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with) $dmc2(Ice Barrage) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit 
      dmt -d barrages 1 
      var %freeze $r(1,100) 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with) $dmc2(Ice Barrage) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      if (%freeze isnum 1-35 && !$dmo(frozen)) { 
        dmo frozen $true 
        msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is now frozen.) 
      } 
      notice $nick [DM] You have $dmt(barrages) barrages left. 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($dmt(barrages) < 1) { notice $nick [DM] You have run out of barrages. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@](dh(aroks)?|g(reat)?axe)$/Si:#: { 
  if ($nick = $dmt(name) && !$dmt(frozen)) { 
    var %h $dmt(hp) 
    if (%h isnum 1-7) var %hit $r(1,75) 
    if (%h isnum 8-18) var %hit $r(1,67) 
    if (%h isnum 19-30) var %hit $r(1,58) 
    if (%h isnum 31-45) var %hit $r(1,49) 
    if (%h isnum 46-65) var %hit $r(1,40) 
    if (%h isnum 66-85) var %hit $r(1,35) 
    if (%h isnum 86-99) var %hit $r(1,30) 
    if ($calc($dmo(hp) - %hit) < 1) { 
      var %hit $dmo(hp) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with a) $dmc2(Dharoks set) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with a) $dmc2(Dharoks set) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($nick = $dmt(name) && $dmt(frozen)) { notice $nick [DM] You're frozen, you can't use Dharoks. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@]c(rystal)? ?bow$/Si:#: { 
  if ($nick = $dmt(name)) { 
    var %hit $r(1,30) 
    if ($calc($dmo(hp) - %hit) < 1) { 
      var %hit $dmo(hp) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with a) $dmc2(Crystal Bow) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with a) $dmc2(Crystal Bow) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@]m(agic)? ?s(hort)? ?b(ow)?$/Si:#: { 
  if ($nick = $dmt(name) && $dmt(spec) > 50) { 
    var %hit1 $r(1,23) 
    var %hit2 $r(1,23) 
    if ($calc($dmo(hp) - %hit1 - %hit2) < 1) { 
      var %hit1 $iif($calc($dmo(hp) - %hit1) < 1,$dmo(hp),$v1) 
      var %hit2 $calc($dmo(hp) - %hit1) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(with a) $dmc2(MSB) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit1 
      dmo -d hp %hit2 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(with a) $dmc2(MSB) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      dmt -d spec 50 
      notice $nick Your special bar is now at $dmt(spec) $+ % $+ . 
      turn 
    } 
  } 
  elseif ($nick = $dmt(name) && $dmt(spec) < 25) { notice $nick [DM] You do not have enough percent in your special bar. It's at $dmt(spec) $+ % $+ . You need at least 50%. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@]guth(ans)?$/Si:#: { 
  if ($nick = $dmt(name) && !$dmt(frozen)) { 
    var %hit $r(1,35) 
    if ($calc($dmo(hp) - %hit) < 1) { 
      var %hit $dmo(hp) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with) $dmc2(Guthans) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      var %heal $iif($calc($dmt(hp) + %hit) > 99,$calc(99 - $dmt(hp)),%hit) 
      dmo -d hp %hit 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit) $dmc1(with) $dmc2(Guthans) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(has healed) $dmc2(%heal) $dmc1(hp and now has) $dmc2($iif($dms(hpbar),$hpbar($dmt(hp)),$dmt(hp))) $dmc1(hp.) 
      var %spec $iif($calc($dmt(spec) +5) > 100,$calc(100 - $dmt(spec)),5) 
      dmt -i spec %spec 
      turn 
    } 
  } 
  elseif ($dmo(frozen)) { notice $nick [DM] You're frozen, you can't use Guthans. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@]d(ragon)? ?b(ow)?$/Si:#: { 
  if ($nick = $dmt(name) && $dmt(spec) > 80 && $dms(dbow)) { 
    var %hit1 $r(1,35) 
    var %hit2 $r(1,35) 
    if ($calc($dmo(hp) - %hit1 - %hit2) < 1) { 
      var %hit1 $iif($calc($dmo(hp) - %hit1) < 1,$dmo(hp),$v1) 
      var %hit2 $calc($dmo(hp) - %hit1) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(with a) $dmc2(Dragon Bow) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit1 
      dmo -d hp %hit2 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(with a) $dmc2(Dragon Bow) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      dmt -d spec 80 
      notice $nick Your special bar is now at $dmt(spec) $+ % $+ . 
      turn 
    } 
  } 
  elseif ($nick = $dmt(name) && $dmt(spec) < 25) { notice $nick [DM] You do not have enough percent in your special bar. It's at $dmt(spec) $+ % $+ . You need at least 80%. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@]g(ranite)? ?maul$/Si:#: { 
  if ($nick = $dmt(name) && !$dmt(frozen) && $dmt(spec) = 100 && $dms(gmaul)) { 
    var %hit1 $r(1,27) 
    var %hit2 $r(1,27) 
    var %hit3 $r(1,27) 
    if ($calc($dmo(hp) - %hit1 - %hit2 - %hit3) < 1) { 
      var %hit1 $iif($calc($dmo(hp) - %hit1) < 1,$dmo(hp),%hit1) 
      var %hit2 $iif($calc($dmo(hp) - %hit1) < 1,$dmo(hp),$v1) 
      var %hit3 $calc($dmo(hp) - %hit1 - %hit2) 
      dmo hp 0 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(and a) $dmc2(%hit3) $dmc1(with a) $dmc2(Granite Maul) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      msg # $dmc1([DM]) $dmc2($dmo(name)) $dmc1(is dead!) 
      score $dmt(name) $dmo(name) # 
      dmhalt # 
    } 
    elseif ($calc($dmo(hp) - %hit) > 0) { 
      dmo -d hp %hit1 
      dmo -d hp %hit2 
      dmo -d hp %hit3 
      msg # $dmc1([DM]) $dmc2($nick) $dmc1(just hit a) $dmc2(%hit1) $dmc1(and a) $dmc2(%hit2) $dmc1(and a) $dmc2(%hit3) $dmc1(with a) $dmc2(Granite Maul) $dmc1(leaving) $dmc2($dmo(name)) $dmc1(with) $dmc2($iif($dms(hpbar),$hpbar($dmo(hp)),$dmo(hp))) $dmc1(hp.) 
      dmt -d spec 100 
      notice $nick Your special bar is now at $dmt(spec) $+ % $+ . 
      turn 
    } 
  } 
  elseif ($nick = $dmt(name) && $dmt(frozen)) { notice $nick [DM] You're frozen, you can't use the Granite Maul. } 
  elseif ($nick = $dmt(name) && $dmt(spec) < 25) { notice $nick [DM] You do not have enough percent in your special bar. It's at $dmt(spec) $+ % $+ . You need 100%. } 
  elseif ($nick = $dmo(name)) { notice $nick [DM] It's not your turn } 
  elseif ($dm(open)) { notice $nick [DM] You're not in the current DM. } 
} 
on $*:TEXT:/^[!.@](dm)?status$/Si:#: { 
  if ($dm1(name) = $nick) { 
    var %hp $dm1(hp), %sp $dm1(spec), %ba $dm1(barrages), %sh $dm1(sharks), %fr $dm1(frozen) 
    $iif($left($1,1) = @,msg #,notice $nick) $dmc1([DM] HP:) $dmc2(%hp) $dmc1($chr(124) Special Bar:) $dmc2(%sp) $& 
      $dmc1($chr(124) Barrages:) $dmc2(%ba) $dmc1($chr(124) Sharks:) $dmc2(%sh) $dmc1($chr(124) Frozen:) $dmc2($iif(%fr = $true,Yes,No)) 
  } 
  if ($dm2(name) = $nick) { 
    var %hp $dm2(hp), %sp $dm2(spec), %ba $dm2(barrages), %sh $dm2(sharks), %fr $dm2(frozen) 
    $iif($left($1,1) = @,msg #,notice $nick) $dmc1([DM] HP:) $dmc2(%hp) $dmc1($chr(124) Special Bar:) $dmc2(%sp) $& 
      $dmc1($chr(124) Barrages:) $dmc2(%ba) $dmc1($chr(124) Sharks:) $dmc2(%sh) $dmc1($chr(124) Frozen:) $dmc2($iif(%fr = $true,Yes,No)) 
  } 
} 
on $*:TEXT:/^[!.@](dm)?turn$/Si:#: { 
  if ($dm(open)) { $iif($left($1,1) = @,msg #,notice $nick) $dmc1([DM] It's currently) $dmc2($dmt(name)) $+ $dmc1('s turn.) } 
} 
on *:PART:#: { 
  if ($nick = $dm1(name) || $nick = $dm2(name)) { 
    dmhalt # 
    msg # $dmc1([DM] DM automatically halted due to one of the players leaving.) 
  } 
} 
on *:QUIT: { 
  var %x 1 
  while ($comchan($nick,%x)) { 
    if ($hget(dm1 $+ $comchan($nick,%x),name) = $nick || $hget(dm2 $+ $comchan($nick,%x),name) = $nick) { 
      dmhalt $comchan($nick,%x) 
      msg $comchan($nick,%x) $dmc1([DM] DM automatically halted due to one of the players leaving.) 
    } 
    inc %x 
  } 
}