All pastes #55693 Raw Edit

Miscellany

public text v1 · immutable
#55693 ·published 2006-05-14 06:06 UTC
rendered paste body
on *:text:cutwire*:#:{
   if (%_timebomb == $nick $chan $scid($cid).server) {
     if ($2 !isin %_timebomb_pick) return
     if ($2 == %_timebomb_wire) {
       msg $chan $nick cut the %_timebomb_wire wire.  This has defused the bomb!
     }
     else {
       if ($me isop $chan) kick $chan $nick snip...*BOOM!*
       else msg $chan snip...*BOOM!* Type timebomb to start a new round
     }
     unset %_timebomb*
     .timerbomb off
   }
 }
 on *:text:timebomb*:#: {
   if ((!$2) || ((!$nick($2,$chan)) && ($nick !isin %timebomb_admins))) tokenize 32 timebomb $nick
   if (%timebomb_chan != $chan $scid($cid).server) { msg $chan I don't have a single bomb to spare. :-( | return }
   if (%_timebomb) { describe $chan points at the bulge in the back of $gettok(%_timebomb,1,32) $+ 's pants. | return }
   if ($nick isin %timebomb_admins) {
     var %_timebomb_return = $_timebomb_plant($chan, $2, $nick, $scid($cid).server)
     if ($2 != $nick) notice $nick $nick initiated timebomb for $2 in channel $chan on $scid($cid).server (Winning colour: %_timebomb_return $+ )
   }
   elseif ($2 != $nick) return
   else _timebomb_plant $chan $nick $nick $scid($cid).server
 }
 alias _timebomb_setenv {
   .timerbomb off
   unset %_timebomb*
   unset %timebomb*
   set %timebomb_color Red Orange Yellow Green Blue Indigo Violet Black White Grey Brown Pink Mauve Beige Aquamarine Chartreuse Bisque Crimson Fuchsia Gold Ivory Khaki Lavender Lime Magenta Maroon Navy Olive Plum Silver Tan Teal Turquoise
   set %timebomb_chan $$chan $$scid($cid).server
   set %timebomb_maxr 60
   set %timebomb_minw 1
   set %timebomb_maxw 12
   echo -atc info2 * Enviroment set successfully (Timebomb channel: $chan on $scid($cid).server $+ )
 }
 alias _timebomb_engcount { return $replace($1,10,ten,11,eleven,12,twelve,1,one,2,two,3,three,4,four,5,five,6,six,7,seven,8,eight,9,nine) }
 alias _timebomb_englist { var %x, %y = 1
   while (%y < $gettok($1-,0,32)) {
     %x = %x $gettok($1-,%y,32) $+ ,
    inc %y
   }
   return %x and $gettok($1-,%y,32))
 }
 alias _timebomb_explode {
   if (($me isop $1) && ($1)) kick $1 $2 *BOOM!*
   if (($me !isop $1) || (!$1)) msg $1 *BOOM!* Type timebomb to start a new round
   .timerbomb off
   unset %_timebomb*
 }
 alias _timebomb_plant {
   unset %_timebomb*
   .timerbomb off
   var %_timebomb_twire = 1
   while (%_timebomb_twire <= $rand(%timebomb_minw,%timebomb_maxw)) {
     var %y $gettok(%timebomb_color,$rand(1,$gettok(%timebomb_color,0,32)),32)
     if ((%y !isin %_timebomb_pick) && (%timebomb_minw <= $gettok(%timebomb_color,0,32))) {
      set %_timebomb_pick %_timebomb_pick %y
       inc %_timebomb_twire
     }
   }
   var %_timebomb_countdown = $rand(%timebomb_minr,%timebomb_maxr)
   describe $1 stuffs the bomb into $2 $+ 's pants.  The display reads [ $+ %_timebomb_countdown $+ ] seconds.
   if ($gettok(%_timebomb_pick,0,32) == 1) msg $1 Diffuse the bomb by cutting the correct wire. There is one wire. It is %_timebomb_pick $+ .
   elseif ($gettok(%_timebomb_pick,0,32) <= 12) msg $1 Diffuse the bomb by cutting the correct wire. There are $_timebomb_engcount($gettok(%_timebomb_pick,0,32)) wires. They are $_timebomb_englist(%_timebomb_pick) $+ .
   else msg $1 Diffuse the bomb by cutting the correct wire. There are $gettok(%_timebomb_pick,0,32) wires. They are $_timebomb_englist(%_timebomb_pick) $+ .
   set %_timebomb_wire $gettok(%_timebomb_pick,$rand(1,$gettok(%_timebomb_pick,0,32)),32)
   .timerbomb 1 %_timebomb_countdown _timebomb_explode $1 $2
   set %_timebomb $2 $1 $iif($4,$4,$scid($cid).server)
   echo -atc info2 * $3 initiated timebomb for $2 in channel $1 on $4 (Winning colour: %_timebomb_wire $+ )
   return %_timebomb_wire
}