All pastes #985200 Raw Edit

Someone

public text v1 · immutable
·published 2008-04-14 21:01 UTC
rendered paste body
on *:text:*:#DDR: {
  if ($1 = ddr) {
    if (%ddr.players == 2) {
      msg #DDR DDR is already in process.
      halt
    }
    if (%ddr.players == 1) && ($nick !== %ddr.p1) {
      .timerddr1p off
      set %ddr.p2 $nick
      msg #DDR DDR now starting with players %ddr.p1 and %ddr.p2 $+ .
      set %ddr.level 1
      inc %ddr.players
      ddr
    }
    else {
      set %ddr.p1 $nick
      set %ddr.players 1
      msg #DDR Waiting 10 seconds for another player to join.
      .timerddr1p 1 10 1pddr
    }
  }
  if ($nick == %ddr.p1) || ($nick == %ddr.p2) {
    if ($1 == $remove(%ddr.pattern,$chr(32))) {
      ddr. $nick
    }
  }
  if ($1 == end) {
    if ($nick == %ddr.p1) || ($nick == %ddr.p2) {
      msg #DDR Game has ended.
      unset %ddr.*
    }
  }
}
alias 1pddr {
  msg #DDR DDR is now started on 1 player mode. Player is %ddr.p1
  set %ddr.players 2
  set %ddr.level 1
  ddr
}
alias ddr {
  set %ddr.pattern $($str($!gettok(<.>.^.v,$r(1,4),46) $chr(32),$calc($calc($calc(%ddr.level - 1) % 5) + 1)),2)
  msg #DDR %ddr.pattern
  msg #DDR $calc(15 - $floor($calc($calc(%ddr.level - 1) / 5))) seconds to complete the pattern in.
  .timerddrc 1 $calc(15 - $floor($calc($calc(%ddr.level - 1) / 5))) ddrc
  inc %ddr.level
}
alias ddr. {
  if (%ddr.p2) {
    if ($1 == %ddr.p1) set %ddr.p1.d On
    if ($1 == %ddr.p2) set %ddr.p2.d On
    if (%ddr.p1.d) && (%ddr.p2.d) { unset %ddr.p*.d | .timerddrc off | ddr }
  }
  else ddr
}
alias ddrc {
  msg #DDR Game over on level $calc(%ddr.level - 1)
  if (%ddr.p2) msg #DDR $iif(%ddr.p1.d,%ddr.p1,$iif(%ddr.p2.d,%ddr.p2,Nobody)) wins the game
  unset %ddr.*
}