rendered paste bodyalias whipmax {
set %whipmax $1
echo 2 -at *** max hit for whip is now $1
}
alias hitpoints {
set %hitpoints $1
echo 2 -at *** max hitpoints is now $1
}
alias sharks {
set %sharks $1
echo 2 -at *** max sharks is now $1
}
alias heal {
set %heal $1
echo 2 -at *** shark now heals $1 hitpoints
}
alias dmoff {
unset %player1 [ $+ [ $chan ] ]
unset %player2 [ $+ [ $chan ] ]
unset %hp1 [ $+ [ $chan ] ]
unset %hp2 [ $+ [ $chan ] ]
unset %whip [ $+ [ $chan ] ]
unset %dds [ $+ [ $chan ] ]
unset %turn2 [ $+ [ $chan ] ]
unset %turn [ $+ [ $chan ] ]
unset %dm [ $+ [ $chan ] ]
}
on $*:text:/^[@!]dm$/Si:#pkdm:{
if (!%dm [ $+ [ $chan ] ]) {
msg $chan if you would like to dm $nick then you have 30 seconds to type $qt(!dm) otherwise the dm request will halt.
set %dm [ $+ [ $chan ] ] $chan
set %player1 [ $+ [ $chan ] ] $nick
set %request [ $+ [ $chan ] ] on
timerdmoff 1 30 dmoff
}
elseif (%request [ $+ [ $chan ] ] == on) && (!%player2 [ $+ [ $chan ] ]) && (%player1 [ $+ [ $chan ] ] != $nick) && (%dm [ $+ [ $chan ] ]) {
timerdmoff off
set %player2 [ $+ [ $chan ] ] $nick
unset %request [ $+ [ $chan ] ]
$iif($rand(0,1),set %turn [ $+ [ $chan ] ] %player1 [ $+ [ $chan ] ],set %turn [ $+ [ $chan ] ] %player2 [ $+ [ $chan ] ])
set %hp1 [ $+ [ $chan ] ] %hitpoints
set %hp2 [ $+ [ $chan ] ] %hitpoints
set %shark1 [ $+ [ $chan ] ] %sharks
set %shark2 [ $+ [ $chan ] ] %sharks
set %whip [ $+ [ $chan ] ] $rand(0,40)
set %turn2 [ $+ [ $chan ] ] $iif(%turn [ $+ [ $chan ] ] == %player1 [ $+ [ $chan ] ],%player2 [ $+ [ $chan ] ],%player1 [ $+ [ $chan ] ])
msg $chan dm starting... %turn [ $+ [ $chan ] ] goes first. each player has %sharks sharks which heal %heal hitpoints, in addition, each player also has %hitpoints hitpoints. type $qt(!dmc) to view the dm commands.
}
elseif (%player1 [ $+ [ $chan ] ] == $nick) {
notice %player1 [ $+ [ $chan ] ] you can't dm yourself.
}
elseif (%dm [ $+ [ $chan ] ]) && (!%request [ $+ [ $chan ] ]) && (%player2 [ $+ [ $chan ] ]) {
notice $nick there is already an active dm in $chan
}
}
on $*:text:/^[@!]turn$/Si:#pkdm:{
if (%dm [ $+ [ $chan ] ]) {
notice $nick it is currently $+(%turn [ $+ [ $chan ] ],'s) turn for the active dm in $chan
}
elseif (!%dm [ $+ [ $chan ] ]) {
notice $nick there is not an active dm in $chan
}
}
on $*:text:/^[@!]whip$/Si:#pkdm:{
if (%turn [ $+ [ $chan ] ] == %player1 [ $+ [ $chan ] ]) && (%turn [ $+ [ $chan ] ] == $nick) && (- !isin %hp2 [ $+ [ $chan ] ]) {
set %whip [ $+ [ $chan ] ] $rand(0,%whipmax)
msg $chan %turn [ $+ [ $chan ] ] inflicts %whip [ $+ [ $chan ] ] damage on $+(%turn2 [ $+ [ $chan ] ],$chr(44)) using a $remove($1,!,@) and leaves %turn2 [ $+ [ $chan ] ] with $iif(- isin $c(%hp2 [ $+ [ $chan ] ] - %whip [ $+ [ $chan ] ]),0,$c(%hp2 [ $+ [ $chan ] ] - %whip [ $+ [ $chan ] ])) hitpoints.
set %hp2 [ $+ [ $chan ] ] $c(%hp2 [ $+ [ $chan ] ] - %whip [ $+ [ $chan ] ])
var %turn1 [ $+ [ $chan ] ] %turn [ $+ [ $chan ] ]
set %turn [ $+ [ $chan ] ] %turn2 [ $+ [ $chan ] ]
set %turn2 [ $+ [ $chan ] ] %turn1 [ $+ [ $chan ] ]
if (- isin %hp2 [ $+ [ $chan ] ]) || (%hp2 [ $+ [ $chan ] ] == 0) {
msg $chan %player2 [ $+ [ $chan ] ] has been defeated by %player1 [ $+ [ $chan ] ]
dmoff
}
else {
msg $chan it is now $+(%turn [ $+ [ $chan ] ],'s) turn
}
}
}
elseif (%turn [ $+ [ $chan ] ] == %player2 [ $+ [ $chan ] ]) && (%turn [ $+ [ $chan ] ] == $nick) && (- !isin %hp1 [ $+ [ $chan ] ]) {
set %whip [ $+ [ $chan ] ] $rand(0,%whipmax)
msg $chan %turn [ $+ [ $chan ] ] inflicts %whip [ $+ [ $chan ] ] damage on $+(%turn2 [ $+ [ $chan ] ],$chr(44)) using a $remove($1,!,@) and leaves %turn2 [ $+ [ $chan ] ] with $iif(- isin $c(%hp1 [ $+ [ $chan ] ] - %whip [ $+ [ $chan ] ]),0,$c(%hp1 [ $+ [ $chan ] ] - %whip [ $+ [ $chan ] ])) hitpoints.
set %hp1 [ $+ [ $chan ] ] $c(%hp1 [ $+ [ $chan ] ] - %whip [ $+ [ $chan ] ])
var %turn1 [ $+ [ $chan ] ] %turn [ $+ [ $chan ] ]
set %turn [ $+ [ $chan ] ] %turn2 [ $+ [ $chan ] ]
set %turn2 [ $+ [ $chan ] ] %turn1 [ $+ [ $chan ] ]
if (- isin %hp1 [ $+ [ $chan ] ]) || (%hp1 [ $+ [ $chan ] ] == 0) {
msg $chan %player1 [ $+ [ $chan ] ] has been defeated by %player2 [ $+ [ $chan ] ]
dmoff
}
else {
msg $chan it is now $+(%turn [ $+ [ $chan ] ],'s) turn
}
elseif (- isin %hp2 [ $+ [ $chan ] ]) {
msg $chan %player2 [ $+ [ $chan ] ] has been defeated by %player1 [ $+ [ $chan ] ]
dmoff
}
elseif (- isin %hp1 [ $+ [ $chan ] ]) {
msg $chan %player1 [ $+ [ $chan ] ] has been defeated by %player2 [ $+ [ $chan ] ]
dmoff
}
}
on $:text:/^[@!]dh$/Si:#pkdm:{
}
on $*:text:/^[@!]shark$/Si:#pkdm:{
if (%turn [ $+ [ $chan ] ] == %player1 [ $+ [ $chan ] ]) && (%turn [ $+ [ $chan ] ] == $nick) && (%shark1 [ $+ [ $chan ] ] != 0) {
msg $chan %turn [ $+ [ $chan ] ] eats a shark and heals %heal hitpoints. %turn [ $+ [ $chan ] ] now has $c(%heal + %hp1 [ $+ [ $chan ] ]) hitpoints left.
set %hp1 [ $+ [ $chan ] ] $c(%heal + %hp1 [ $+ [ $chan ] ])
var %turn1 [ $+ [ $chan ] ] %turn [ $+ [ $chan ] ]
set %turn [ $+ [ $chan ] ] %turn2 [ $+ [ $chan ] ]
set %turn2 [ $+ [ $chan ] ] %turn1 [ $+ [ $chan ] ]
dec %shark1 [ $+ [ $chan ] ] 1
msg $chan it is now $+(%turn [ $+ [ $chan ] ],'s) turn
}
elseif (%turn [ $+ [ $chan ] ] == %player2 [ $+ [ $chan ] ]) && (%turn [ $+ [ $chan ] ] == $nick) && (%shark2 [ $+ [ $chan ] ] != 0) {
msg $chan %turn [ $+ [ $chan ] ] eats a shark and heals %heal hitpoints. %turn [ $+ [ $chan ] ] now has $c(%heal + %hp2 [ $+ [ $chan ] ]) hitpoints left.
set %hp2 [ $+ [ $chan ] ] $c(%heal + %hp2 [ $+ [ $chan ] ])
var %turn1 [ $+ [ $chan ] ] %turn [ $+ [ $chan ] ]
set %turn [ $+ [ $chan ] ] %turn2 [ $+ [ $chan ] ]
set %turn2 [ $+ [ $chan ] ] %turn1 [ $+ [ $chan ] ]
dec %shark2 [ $+ [ $chan ] ] 1
msg $chan it is now $+(%turn [ $+ [ $chan ] ],'s) turn
}
}
on $*:text:/^[@!]stop$/Si:#pkdm:{
if (%dm [ $+ [ $chan ] ]) {
if ($nick isop %dm [ $+ [ $chan ] ]) || ($wildsite = $address($me,2)) || ($nick == %player1 [ $+ [ $chan ] ]) || ($nick == %player2 [ $+ [ $chan ] ]) {
msg $chan halting the current dm on request of $nick
unset %player1 [ $+ [ $chan ] ]
unset %player2 [ $+ [ $chan ] ]
unset %hp1 [ $+ [ $chan ] ]
unset %hp2 [ $+ [ $chan ] ]
unset %whip [ $+ [ $chan ] ]
unset %dds [ $+ [ $chan ] ]
unset %turn2 [ $+ [ $chan ] ]
unset %turn [ $+ [ $chan ] ]
unset %dm [ $+ [ $chan ] ]
unset %shark1 [ $+ [ $chan ] ]
unset %shark2 [ $+ [ $chan ] ]
}
elseif ($nick !isop %dm [ $+ [ $chan ] ]) || ($wildsite != $address($me,2)) || ($nick != %player1 [ $+ [ $chan ] ]) || ($nick == %player2 [ $+ [ $chan ] ]) {
notice $nick access denied.
}
}
elseif (!%dm [ $+ [ $chan ] ]) {
notice $nick there is not an active dm in $chan
}
}