All pastes #331296 Raw Edit

Miscellany

public text v1 · immutable
#331296 ·published 2007-01-28 19:08 UTC
rendered paste body
on *:text:!duel*:#:{
  if (%duel.2 == active) {
    msg $chan a duel is already active please wait for it to end.
    halt 
  }
  if (%duel == active) { 
    if ($nick == %duel.player1) { .notice $nick You can't duel yourself! | halt }
    if (%duel.player1 !ison $chan) { .notice $nick You can't duel someone on another channel. | halt }
    else {
      set %duel.player2 $nick
      msg $chan Now dueling: $c2(%duel.player1) $c1(vs) $c2($+(%duel.player2,.))
      msg $chan $c1(Both players have been equipped with:) $c2(!Whip, !Gmaul, !dds, !eat (20 sharks), !ice barrage (20 casts), and !dh.)
      msg $chan $c1(Type) $c2(!spec) $c1(to check your special bar, and) $c2(!food) $c1(to check how many sharks you have left.)
      msg $chan $c1(Type) $c2(!stake) $c1(to stake items!)
      set %duel.2 active
      set %duel.p1hp 99
      set %duel.p2hp 99
      set %duel.spec1 0
      set %duel.spec2 0
      set %duel.turn 1
      set %duel.sharks1 20
      set %duel.sharks2 20
      set %duel.barrage1 20
      set %duel.barrage2 20
    }
  }
  else {
    set %duel active
    set %duel.player1 $nick
    msg $chan $c2($nick) $c1(has initiated a duel! type) $c2(!duel) $c1(to challenge them!)
  }
}

on *:text:!eat*:#:{
  if ($nick == %duel.player1) {
    var %heal1 = $iif(%duel.p1hp <= 80, 20, $calc(99 - %duel.p1hp))
    inc %duel.p1hp %heal1
    dec %duel.sharks1 1
    msg $chan $c2(%duel.player1) $c1(eats a shark and gains) $c2(%heal1 hp.)
    msg $chan $c2(%duel.player1) $c1(has) $c2($iif(%duel.p1hp <= 0, 0, %duel.p1hp) hp) $c1(left.)
  }
  elseif ($nick == %duel.player2) {
    var %heal2 = $iif(%duel.p2hp <= 80, 20, $calc(99 - %duel.p2hp))
    inc %duel.p2hp %heal2
    dec %duel.sharks2 1
    msg $chan $c2(%duel.player2) $c1(eats a shark and gains) $c2(%heal2 hp.)
    msg $chan $c2(%duel.player2) $c1(has) $c2($iif(%duel.p2hp <= 0, 0, %duel.p2hp) hp) $c1(left.)
  }
}

on *:text:!dds*:#:{
  if (%duel.accept1 == off) || (%duel.accept2 == off) { .msg $chan $c1(Both combatants must accept or decline stake conditions before continuing.) | halt }
  if (%duel.turn == 1) {
    if ($nick == %duel.player1) {
      if (%duel.spec1 == 4) { .notice $nick $c2(You are out of) $c1(special attack.) } 
      if (%duel.spec1 < 4) {
        var %hit1 = $rand(0,35)
        var %hit2 = $rand(0,35)
        inc %duel.spec1
        msg $chan $c2(%duel.player1) $c1(has hit) $c2($iif(%hit1 > %duel.p2hp, %duel.p2hp, %hit1)) $c1(and) $c2($+($iif($calc(%duel.p2hp - %hit1) <= 0, 0, $iif(%hit2 > $calc(%duel.p2hp - %hit1), $calc(%duel.p2hp - %hit1), %hit2)),.))
        dec %duel.p2hp $calc(%hit1 + %hit2)
        msg $chan $c2(%duel.player2) $c1(has) $c2($iif(%duel.p2hp <= 0, 0,  %duel.p2hp) hp) $c1(left.)
        set %duel.turn 2
      }
      if (%duel.p2hp <= 0) {
        msg $chan $c2(%duel.player1) $c1(has defeated) $c2($+(%duel.player2,.))
        .msg $chan $iif(%duel.stake2 != $null,$c2(%duel.player1) $c1(has won) $c2($+(%duel.stake2,!)),$c1(No stake was set.))
        unset $+(%,duel,.,*)
        unset %duel
      }
    }
  }
  else {
    if (%duel.turn == 2) {
      if ($nick == %duel.player2) {
        if (%duel.spec2 == 4) { .notice $nick $c1(You are out of) $c2(special attack.) }
        if (%duel.spec2 < 4) {
          var %hit1 = $rand(0,35)
          var %hit2 = $rand(0,35)
          inc %duel.spec2
          msg $chan $c2(%duel.player2) $c1(has hit) $c2($iif(%hit1 > %duel.p1hp, %duel.p1hp, %hit1)) $c1(and) $c2($+($iif($calc(%duel.p1hp - %hit1) <= 0, 0, $iif(%hit2 > $calc(%duel.p1hp - %hit1), $calc(%duel.p1hp - %hit1), %hit2)),.))
          dec %duel.p1hp $calc(%hit1 + %hit2)
          msg $chan $c2(%duel.player1) $c1(has) $c2($iif(%duel.p1hp <= 0, 0, %duel.p1hp) hp) $c1(left.)
          set %duel.turn 1
        }
        if (%duel.p1hp <= 0) {
          msg $chan $c2(%duel.player2) $c1(has defeated) $c2($+(%duel.player1,.))
          .msg $chan $iif(%duel.stake1 != $null,$c2(%duel.player2) $c1(has won) $c2($+(%duel.stake1,!)),$c1(No stake was set.))
          unset $+(%,duel,.,*)
          unset %duel
        }
      }
    }
  }
}

on *:TEXT:!gmaul*:#:{
  if (%duel.accept1 == off) || (%duel.accept2 == off) { .msg $chan $c1(Both combatants must accept or decline stake conditions before continuing.) | halt }
  if (%duel.turn == 1) {
    if ($nick == %duel.player1) {
      if (%duel.spec1 => 1) { .notice $nick $c1(You do not have enough) $c2(special attack) $c1(to do that.) }
      if (%duel.spec1 == 0) {
        var %hit1 = $rand(0,32)
        var %hit2 = $rand(0,32)
        var %hit3 = $rand(0,32)
        inc %duel.spec1 4
        msg $chan $c2(%duel.player1) $c1(has hit) $c2($+($iif(%hit1 > %duel.p2hp, %duel.p2hp, %hit1)),$chr(44))) $c2($+($iif($calc(%duel.p2hp - %hit1) <= 0, 0, $iif(%hit2 > $calc(%duel.p2hp - %hit1), $calc(%duel.p2hp - %hit1), %hit2)),$chr(44))) $c1(and) $c2($+($iif($calc(%duel.p2hp - (%hit1 + %hit2)) <= 0, 0, $iif(%hit3 > $calc(%duel.p2hp - (%hit1 + %hit2)), $calc(%duel.p2hp - (%hit1 + %hit2)), %hit3)),.))
        dec %duel.p2hp $calc(%hit1 + %hit2 + %hit3)
        msg $chan $c2(%duel.player2) $c1(has) $c2($iif(%duel.p2hp <= 0, 0,  %duel.p2hp) hp) $c1(left.)
        set %duel.turn 2
      }
      if (%duel.p2hp <= 0) {
        msg $chan $c2(%duel.player1) $c1(has defeated) $c2($+(%duel.player2,.))
        .msg $chan $iif(%duel.stake2 != $null,$c2(%duel.player1) $c1(has won) $c2($+(%duel.stake2,!)),$c1(No stake was set.))
        unset $+(%,duel,.,*)
        unset %duel
      }
    }
  }
  else {
    if (%duel.turn == 2) {
      if ($nick == %duel.player2) {
        if (%duel.spec2 => 1) { .notice $nick $c1(You do not have enough) $c2(special attack) $c1(to do that.) }
        if (%duel.spec2 == 0) {
          var %hit1 = $rand(0,32)
          var %hit2 = $rand(0,32)
          var %hit3 = $rand(0,32)
          inc %duel.spec2 4
          msg $chan $c2(%duel.player2) $c1(has hit) $c2($+($iif(%hit1 > %duel.p1hp, %duel.p1hp, %hit1)),$chr(44))) $c2($+($iif($calc(%duel.p1hp - %hit1) <= 0, 0, $iif(%hit2 > $calc(%duel.p1hp - %hit1), $calc(%duel.p1hp - %hit1), %hit2)),$chr(44))) $c1(and) $c2($+($iif($calc(%duel.p1hp - (%hit1 + %hit2)) <= 0, 0, $iif(%hit3 > $calc(%duel.p1hp - (%hit1 + %hit2)), $calc(%duel.p1hp - (%hit1 + %hit2)), %hit3)),.))          
          dec %duel.p1hp $calc(%hit1 + %hit2 + %hit3)
          msg $chan $c2(%duel.player1) $c1(has) $c2($iif(%duel.p1hp <= 0, 0,  %duel.p1hp) hp) $c1(left.)
          set %duel.turn 1
        }
        if (%duel.p1hp <= 0) {
          msg $chan $c2(%duel.player2) $c1(has defeated) $c2($+(%duel.player1,.))
          .msg $chan $iif(%duel.stake1 != $null,$c2(%duel.player2) $c1(has won) $c2($+(%duel.stake1,!)),$c1(No stake was set.))
          unset $+(%,duel,.,*)
          unset %duel
        }
      }
    }
  }
}

on *:text:!whip*:#:{
  if (%duel.accept1 == off) || (%duel.accept2 == off) { .msg $chan $c1(Both combatants must accept or decline stake conditions before continuing.) | halt }
  if (%duel.turn == 1) {
    if ($nick == %duel.player1) {
      set %duel.turn 2
      var %hit = $rand(0,40)
      msg $chan $c2(%duel.player1) $c1(has hit a) $c2($+($iif(%hit > %duel.p2hp, %duel.p2hp, %hit),.))
      dec %duel.p2hp %hit
      msg $chan $c2(%duel.player2) $c1(has) $c2($iif(%duel.p2hp <= 0, 0, %duel.p2hp) hp) $c1(left.)
      if (%duel.p2hp <= 0) {
        msg $chan $c2(%duel.player1) $c1(has defeated) $c2($+(%duel.player2,.))
        .msg $chan $iif(%duel.stake2 != $null,$c2(%duel.player1) $c1(has won) $c2($+(%duel.stake2,!)),$c1(No stake was set.))
        unset $+(%,duel,.,*)
        unset %duel
      }
    }
  }
  else {
    if (%duel.turn == 2) {
      if ($nick == %duel.player2) {
        set %duel.turn 1
        var %hit = $rand(0,40)
        msg $chan $c2(%duel.player2) $c1(has hit a) $c2($+($iif(%hit > %duel.p1hp, %duel.p1hp, %hit),.))
        dec %duel.p1hp %hit
        msg $chan $c2(%duel.player1) $c1(has) $c2($iif(%duel.p1hp <= 0, 0, %duel.p1hp) hp)  $c1(left.)
        if (%duel.p1hp <= 0) {
          msg $chan $c2(%duel.player2) $c1(has defeated) $c2($+(%duel.player1,.))
          .msg $chan $iif(%duel.stake1 != $null,$c2(%duel.player2) $c1(has won) $c2($+(%duel.stake1,!)),$c1(No stake was set.))
          unset $+(%,duel,.,*)
          unset %duel
        }
      }
    }
  }
}

on *:text:!dh*:#:{
  if (%duel.accept1 == off) || (%duel.accept2 == off) { .msg $chan $c1(Both combatants must accept or decline stake conditions before continuing.) | halt }
  if (%duel.turn == 1) {
    if ($nick == %duel.player1) {
      set %duel.turn 2
      var %dh = $rand(0,$calc(100 - %duel.p1hp))
      msg $chan $c2(%duel.player1) $c1(has hit a) $c2($+($iif(%duel.p2hp > %dh, %dh, %duel.p2hp),.))
      dec %duel.p2hp %dh
      msg $chan $c2(%duel.player2) $c1(has) $c2($iif(%duel.p2hp <= 0, 0, %duel.p2hp) hp) $c1(left.)
      if (%duel.p2hp <= 0) {
        msg $chan $c2(%duel.player1) $c1(has defeated) $c2($+(%duel.player2,.))
        .msg $chan $iif(%duel.stake2 != $null,$c2(%duel.player1) $c1(has won) $c2($+(%duel.stake2,!)),$c1(No stake was set.))
        unset $+(%,duel,.,*)
        unset %duel
      }
    }
  }
  if (%duel.turn == 2) {
    if ($nick == %duel.player2) {
      set %duel.turn 1
      var %dh = $rand(0,$calc(100 - %duel.p2hp))
      msg $chan $c2(%duel.player2) $c1(has hit a) $c2($iif(%duel.p1hp > %dh, %dh, %duel.p1hp))
      dec %duel.p1hp %dh
      msg $chan $c2(%duel.player1) $c1(has) $c2($iif(%duel.p1hp <= 0, 0, %duel.p1hp) hp) $c1(left.)
      if (%duel.p1hp <= 0) {
        msg $chan $c2(%duel.player2) $c1(has defeated) $c2($+(%duel.player1,.))
        .msg $chan $iif(%duel.stake1 != $null,$c2(%duel.player2) $c1(has won) $c2($+(%duel.stake1,!)),$c1(No stake was set.))
        unset $+(%,duel,.,*)
        unset %duel
      }
    }
  }
}

on *:text:!ice*:#:{
  if ($2 == barrage) {
    if (%duel.accept1 == off) || (%duel.accept2 == off) { .msg $chan $c1(Both combatants must accept or decline stake conditions before continuing.) | halt }
    if (%duel.turn == 1) {
      if ($nick == %duel.player1) {
        set %duel.turn 2
        dec %duel.barrage1 1
        var %hit = $rand(0,30)
        msg $chan $c2(%duel.player1) $c1(has hit a) $c2($+($iif(%hit > %duel.p2hp, %duel.p2hp, %hit),.))
        $barrage
        dec %duel.p2hp %hit
        msg $chan $c2(%duel.player2) $c1(has) $c2($iif(%duel.p2hp <= 0, 0, %duel.p2hp) hp) $c1(left.)
        if (%duel.p2hp <= 0) {
          msg $chan $c2(%duel.player1) $c1(has defeated) $c2($+(%duel.player2,.))
          .msg $chan $iif(%duel.stake2 != $null,$c2(%duel.player1) $c1(has won) $c2($+(%duel.stake2,!)),$c1(No stake was set.))
          unset $+(%,duel,.,*)
          unset %duel
        }
      }
    }
    else {
      if (%duel.turn == 2) {
        if ($nick == %duel.player2) {
          set %duel.turn 1
          dec %duel.barrage2 1
          var %hit = $rand(0,30)
          msg $chan $c2(%duel.player2) $c1(has hit a) $c2($+($iif(%hit > %duel.p1hp, %duel.p1hp, %hit),.))
          $barrage
          dec %duel.p1hp %hit
          msg $chan $c2(%duel.player1) $c1(has) $c2($iif(%duel.p1hp <= 0, 0, %duel.p1hp) hp)  $c1(left.)
          if (%duel.p1hp <= 0) {
            msg $chan $c2(%duel.player2) $c1(has defeated) $c2($+(%duel.player1,.))
            .msg $chan $iif(%duel.stake1 != $null,$c2(%duel.player2) $c1(has won) $c2($+(%duel.stake1,!)),$c1(No stake was set.))
            unset $+(%,duel,.,*)
            unset %duel
          }
        }
      }
    }
  }
}

on *:TEXT:!spec*:#:{
  if ($nick == %duel.player1) {
    if (%duel.spec1 == 0) { .notice $nick $c1(You have) $c2(A full) $c1(Special Attack  bar.) $c2((4 specs left)) }
    if (%duel.spec1 == 1) { .notice $nick $c1(You have) $c2(75%) $c1(of your Special  Attack bar.) $c2((3 specs left)) }
    if (%duel.spec1 == 2) { .notice $nick $c1(You have) $c2(50%) $c1(of your Special  Attack bar.) $c2((2 specs left)) } 
    if (%duel.spec1 == 3) { .notice $nick $c1(You have) $c2(25%) $c1(of your Special  Attack bar.) $c2((1 spec left)) }
    elseif (%duel.spec1 == 4) { .notice $nick $c1(You have) $c2(no) $c1(Special Attack left.) }
  }

  else {
    if ($nick == %duel.player2) {
      if (%duel.spec2 == 0) { .notice $nick $c1(You have) $c2(A full) $c1(Special Attack  bar.) $c2((4 specs left)) }
      if (%duel.spec2 == 1) { .notice $nick $c1(You have) $c2(75%) $c1(of your Special  Attack bar.) $c2((3 specs left)) }
      if (%duel.spec2 == 2) { .notice $nick $c1(You have) $c2(50%) $c1(of your Special  Attack bar.) $c2((2 specs left)) } 
      if (%duel.spec2 == 3) { .notice $nick $c1(You have) $c2(25%) $c1(of your Special  Attack bar.) $c2((1 spec left)) }
      elseif (%duel.spec2 == 4) { .notice $nick $c1(You have) $c2(no) $c1(Special Attack left.) }
    }
  }
}

on *:TEXT:!food*:#:{
  if ($nick == %duel.player1) {
    .notice $nick $c1(You currently have) $c2(%duel.sharks1) $c1(Sharks left.)
  }
  else {
    if ($nick == %duel.player2) {
      .notice $nick $c2(You currently have) $c1(%duel.sharks2) $c2(Sharks left.)
    }
  }
}

on *:TEXT:!forfeit*:#:{
  if ($nick == %duel.player1) { 
    .msg $chan $c1(The duel has been forfeit by) $c2($+($nick,.))
    .msg $chan $iif(%duel.stake2 != $null,$c2(%duel.player1) $c1(has won) $c2($+(%duel.stake2,!)),$c1(No stake was set.))
    unset $+(%,duel,.,*)
    unset %duel
  }
  elseif ($nick == %duel.player2) {
    .msg $chan $c1(The duel has been forfeit by) $c2($+($nick,.))
    .msg $chan $iif(%duel.stake1 != $null,$c2(%duel.player2) $c1(has won) $c2($+(%duel.stake1,!)),$c1(No stake was set.))
    unset $+(%,duel,.,*)
    unset %duel
  }
}

on *:TEXT:!stake*:#:{
  if (%duel.turn == 1) {
    if ($nick == %duel.player1) {
      set %duel.stake1 $2- 
      set %duel.accept1 off
      .msg $chan $c2(%duel.player1) $c1(has offered a stake of) $c2($+(%duel.stake1,.))
      set %duel.turn 2
    }
    else { .notice $nick $c2(It is not your turn.) }
  }
  else {
    if (%duel.turn == 2) {
      if ($nick == %duel.player2) {
        set %duel.stake2 $2-
        set %duel.accept2 off
        .msg $chan $c2(%duel.player2) $c1(has offered a stake of) $c2($+(%duel.stake2,.))
        set %duel.turn 1
      }
      else { .notice $nick $c2(It is not your turn.) }
    }
  }
}

on *:TEXT:!accept*:#:{
  if (!%duel.stake1) || (!%duel.stake2) { .msg $chan There is no stake set. Continue duel. | halt }
  if ($nick == %duel.player1) && (%duel.2 == active) { 
    .msg $chan $c2(%duel.player1) $c1(has accepted) $c2(%duel.player2 $+ 's) $c1(stake offer!) 
    set %duel.accept1 
  } 
  elseif ($nick == %duel.player2) && (%duel.2 == active) { 
    .msg $chan $c2(%duel.player2) $c1(has accepted) $c2(%duel.player1 $+ 's) $c1(stake offer!)
    set %duel.accept2 on
  } 
  else { halt }
}


on *:TEXT:!decline*:#:{
  if ($nick == %duel.player1) && (%duel.2 == active) { 
    .msg $chan $c2(%duel.player1) $c1(has declined) $c2(%duel.player2 $+ 's) $c1(stake offer!)
    .msg $chan $c1(The duel has been ended due to decline of terms.)
    unset $+(%,duel,.,*)
    unset %duel
  }
  elseif ($nick == %duel.player2) && (%duel.2 == active) { 
    .msg $chan $c2(%duel.player1) $c1(has declined) $c2(%duel.player2 $+ 's) $c1(stake offer!)
    .msg $chan $c1(The duel has been ended due to decline of terms.)
    unset $+(%,duel,.,*)
    unset %duel
  }
}



alias -l barrage {
  if (%duel.turn == 2) {
    var %freeze = $rand(0,4)
    if (%freeze == 0) { set %duel.freeze1 on }
    if (%freeze == 1) { set %duel.freeze1 on }
    if (%freeze == 2) { set %duel.freeze1 off }
    if (%freeze == 3) { set %duel.freeze1 off }
    if (%freeze == 4) { set %duel.freeze1 off }
    if (%duel.freeze1 == on) { .msg $chan $c2(%duel.player2) $c1(has been frozen! They can't attack!) | .set %duel.turn 1 }
  }
  elseif (%duel.turn == 1) { 
    var %freeze = $rand(0,4)   
    if (%freeze == 0) { set %duel.freeze2 on }
    if (%freeze == 1) { set %duel.freeze2 on }
    if (%freeze == 2) { set %duel.freeze2 off }
    if (%freeze == 3) { set %duel.freeze2 off }
    if (%freeze == 4) { set %duel.freeze2 off }
    if (%duel.freeze2 == on) { .msg $chan $c2(%duel.player1) $c1(has been frozen! They can't attack!) | .set %duel.turn 2 }
  } 
}


alias -l c1 {
  return $+($chr(3),01,$1-,$chr(3)) 
}

alias -l c2 { 
  return $+($chr(3),10,$1-,$chr(3)) 
}