Rock Paper Scissors Lizard Spock

By Bort on May 14, 2016

I like the idea of this script: http://hawkee.com/snippet/9986/ and I made my own version

Use:
.rock
.paper
.scissors
.lizard
.spock

;########################################
;# Rock, Paper, Scissors, Lizard, Spock #
;#               by Bort                #
;#    http://hawkee.com/snippet/17040/  #
;########################################

alias rpsls.s {
  return $gettok(Rock|Paper|Scissors|Lizard|Spock,$rand(1,5),124)
}

alias rpsls.s.q {
  if ($1 == $2) { return No pasa nada! }
  elseif ($1 isin Scissors,Paper && $2 isin Scissors,Paper) { return Scissors cuts Paper! $iif($1 == Scissors,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Paper,Rock && $2 isin Paper,Rock) { return Paper covers Rock! $iif($1 == Paper,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Rock,Lizard && $2 isin Rock,Lizard) { return Rock crushes Lizard! $iif($1 == Rock,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Lizard,Spock && $2 isin Lizard,Spock) { return Lizard poisons Spock! $iif($1 == Lizard,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Spock,Scissors && $2 isin Spock,Scissors) { return Spock smashes Scissors! $iif($1 == Spock,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Scissors,Lizard && $2 isin Scissors,Lizard) { return Scissors decapitates Lizard! $iif($1 == Scissors,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Lizard,Paper && $2 isin Lizard,Paper) { return Lizard eats Paper! $iif($1 == Lizard,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Paper,Spock && $2 isin Paper,Spock) { return Paper disproves Spock! $iif($1 == Paper,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Spock,Rock && $2 isin Spock,Rock) { return Spock vaporizes Rock! $iif($1 == Spock,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
  elseif ($1 isin Rock,Scissors && $2 isin Rock,Scissors) { return Rock crushes Scissors! $iif($1 == Rock,$chr(3) $+ 3 $+ You win!,$chr(3) $+ 4 $+ You lose!) }
}

on *:text:.Rock:#: {
  set %rpsls.v $rpsls.s
  .msg $chan $chr(2) $+ $nick $+ $chr(2) $+ : Rock $chr(2) $+ $me $+ $chr(2) $+ : %rpsls.v | .msg $chan $rpsls.s.q(Rock,%rpsls.v) | unset %rpsls* | halt
}
on *:text:.Paper:#: {
  set %rpsls.v $rpsls.s
  .msg $chan $chr(2) $+ $nick $+ $chr(2) $+ : Paper $chr(2) $+ $me $+ $chr(2) $+ : %rpsls.v | .msg $chan $rpsls.s.q(Paper,%rpsls.v) | unset %rpsls* | halt
}
on *:text:.Scissors:#: {
  set %rpsls.v $rpsls.s
  .msg $chan $chr(2) $+ $nick $+ $chr(2) $+ : Scissors $chr(2) $+ $me $+ $chr(2) $+ : %rpsls.v | .msg $chan $rpsls.s.q(Scissors,%rpsls.v) | unset %rpsls* | halt
}
on *:text:.Spock:#: {
  set %rpsls.v $rpsls.s
  .msg $chan $chr(2) $+ $nick $+ $chr(2) $+ : Spock $chr(2) $+ $me $+ $chr(2) $+ : %rpsls.v | .msg $chan $rpsls.s.q(Spock,%rpsls.v) | unset %rpsls* | halt
}
on *:text:.Lizard:#: {
  set %rpsls.v $rpsls.s
  .msg $chan $chr(2) $+ $nick $+ $chr(2) $+ : Lizard $chr(2) $+ $me $+ $chr(2) $+ : %rpsls.v | .msg $chan $rpsls.s.q(Lizard,%rpsls.v) | unset %rpsls* | halt
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.