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)) }