## Skee-Ball Machine (v2.2)

A Skee-Ball machine.

Compatibility: TinyMUSH, TinyMUX.

### Instructions

Copy and paste the below code into a compatible MUSH or MUX.

### MUSHCode for Skee-Ball Machine (v2.2)

@create Skee-Ball=10
@Cost Skee-Ball=1
@Desc Skee-Ball=A typical Skee-Ball machine, with target rings of 10, 20, 30, 40, 50 and 100 points. Give it a token to play. Type 'skeehelp' for help.
&ROLL Skee-Ball=\$roll:@wait me=@switch [v(currplayer)]=%#,{@pemit %#=You roll a ball up towards the Skee-Ball target...;@trigger me/score[rand(37)]=[num(%#)]},{@pemit %#=You're not currently playing skee-ball, wait your turn!;@notify me}
&CURRSCORE Skee-Ball=320
&THROWSLEFT Skee-Ball=-4
@Apay Skee-Ball=@switch [eq([v(cost)],0)]=1,{@pemit %#=[name([v(currplayer)])] is currently playing, please wait until that person is done.},{@pemit %#=You put a token in the slot. A mechanical clicking noise is heard. A whirring noise is heard as 9 wooden balls come tumbling down the chute.;&throwsleft me=9;&currscore me=0;&currplayer me=%#;@cost me=0}
&SKEEHELP Skee-Ball=\$skeehelp:@pemit %#=Commands for Skee-Ball:%r'give skee=1' to start a game.%r'roll' a ball up the slope to earn points!%r'skeescore' to see the current Skee-Ball player's score, and the record high/low scores.%r'skeereset' to attempt to reset the machine.%rIf you get hit with a Skee-ball, you can set a custom reply via the &SBSAY attribute. Make sure it is set VISUAL!%r'sbsaytest' to see what your SBSAY message will look like.
&SCORE0 Skee-Ball=@pemit %0=Your throw bounces off the target rims and flies into the bottom. You score 0 points.;@notify me;&currscore me=add([u(#1044/currscore)],0);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE1 Skee-Ball=@pemit %0=Your throw bounces off the 50 and lands in the 10. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE2 Skee-Ball=@pemit %0=Your throw bounces off the 40 and lands in the 10. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE3 Skee-Ball=@pemit %0=Your throw bounces off the 30 and lands in the 10. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE4 Skee-Ball=@pemit %0=Your throw bounces off the 20 and lands in the 10. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE5 Skee-Ball=@pemit %0=Your throw lands right in the 10 point target. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE6 Skee-Ball=@pemit %0=Your throw bounces off the 50 and lands in the 20. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE7 Skee-Ball=@pemit %0=Your throw bounces off the 40 and lands in the 20. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE8 Skee-Ball=@pemit %0=Your throw bounces off the 30 and lands in the 20. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE9 Skee-Ball=@pemit %0=Your throw lands right in the 20 point target. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE10 Skee-Ball=@pemit %0=Your ball bounces off the 50 and lands in the 30. You score 30 points.;@notify me;&currscore me=add([u(#1044/currscore)],30);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE11 Skee-Ball=@pemit %0=Your ball bounces off the 40 and lands in the 30. You score 30 points.;@notify me;&currscore me=add([u(#1044/currscore)],30);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE12 Skee-Ball=@pemit %0=Your ball lands right in the 30 point target. You score 30 points.;@notify me;&currscore me=add([u(#1044/currscore)],30);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE13 Skee-Ball=@pemit %0=Your ball bounces off the 50 point target and lands in the 40 point target. You score 40 points.;@notify me;&currscore me=add([u(#1044/currscore)],40);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE14 Skee-Ball=@pemit %0=Your ball lands right in the 40 point target. You score 40 points.;@notify me;&currscore me=add([u(#1044/currscore)],40);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE15 Skee-Ball=@pemit %0=Your ball lands right in the 50 point target. You score 50 points.;@notify me;&currscore me=add([u(#1044/currscore)],50);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE16 Skee-Ball=@pemit %0=Your ball lands right in the 20 point ring. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE17 Skee-Ball=@pemit %0=Your ball bounces into the 30 point target. You score 30 points.;@notify me;&currscore me=add([u(#1044/currscore)],30);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE18 Skee-Ball=@pemit %0=Your ball bounces into the 40 point target. You score 40 points.;@notify me;&currscore me=add([u(#1044/currscore)],40);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE19 Skee-Ball=@pemit %0=Your ball FLIES up and hits the safety net, and plummets to the bottom, scoring 0.;@notify me;&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&BONUS Skee-Ball=@emit A yellow sign lights up: 500 POINT BONUS
@Opay Skee-Ball=tosses a token in Skee-Ball.
&SCORE21 Skee-Ball=@pemit %0=Your ball SPINS around the rim of one of the 100 point targets, falls out, and flops into the 30.;@notify me;&currscore me=add([u(#1044/currscore)],30);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE22 Skee-Ball=@pemit %0=Your ball SPINS around the rim of one of the 100 point targets and falls straight in!;@notify me;&currscore me=add([u(#1044/currscore)],100);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE23 Skee-Ball=@pemit %0=Your ball SPINS around the rim of one of the 100 point targets and falls straight back down into the 10 point target.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE24 Skee-Ball=@pemit %0=Your ball SPINS around the rim of one of the 100 point targets and falls straight back down to the bottom, scoring zero.;&throwsleft me=sub([u(#1044/throwsleft)],1);@notify me;@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&CANRESET Skee-Ball=#8 #444 #318 #316 #324 #305 #9 #538 #864 #309 #145
&RESET-CMD Skee-Ball=\$skeereset:@emit [name(%#)] reaches under the Skee-Ball machine for a hidden switch.;@switch [member([v(canreset)],[num(%#)])]=0,pose ZAPS [name(%#)] with a bolt of electricity!,@tr me/reset
@Ofail Skee-Ball=tries to pick up the Skee-ball machine, but it is too heavy.
@Afail Skee-Ball=:just sits there, un-moved and un-moving.
@Fail Skee-Ball=Do you really thing you have the strength to lift a full-size Skee-ball machine?
&TOY Skee-Ball=The Skee-ball machine appears out of thin air with a *poof* of light grey smoke.
&OTOY Skee-Ball=jumps up and down, recites some mumbo-jumbo, and a Skee-ball machine appears out of thin air.
@Succ Skee-Ball=You pick up the Skee-Ball machine.
@Osucc Skee-Ball=picks up the Skee-ball machine and tucks it away in a hidden pocket.
&GIVE Skee-Ball=\$givegame *:&currplayer me=[num(%0)];&score me=0;throwsleft me=9;@cost me=0;@drain me;@notify me;@emit [name(%0)] gets a free game!
@Akill Skee-Ball=@tel me=#864
&LOWSCORE Skee-Ball=60
&HIGHSCORE Skee-Ball=530
&LOWSCORER Skee-Ball=#579
&HIGHSCORER Skee-Ball=#864
&LOWSCOREDATE Skee-Ball=Wed Aug 12 06:23:10 1998
&HIGHSCOREDATE Skee-Ball=Wed Aug 12 12:05:39 1998
&SCORE25 Skee-Ball=@pemit %0=Your ball goes flying out wildly into the room...;@emit [setq(0,u(me/newtoss))][name(%0)] wings a skee-ball into the crowd and nails [name(r(0))] in [switch([get(r(0)/sex)],m*,his,f*,her,its)] [u(fix_article,[default(r(0)/appendage,noggin)])]. [name(r(0))] [edefault(r(0)/sbsay,cries out\, "WHAT DO I LOOK LIKE\, A DUNK TANK?")];throwsleft me=sub([u(#1044/throwsleft)],1);@notify me;@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore);&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE26 Skee-Ball=@pemit %0=Your throw lands directly in one of the 100 point targets. You score 100 points.;@notify me;&currscore me=add([u(#1044/currscore)],100);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE27 Skee-Ball=@pemit %0=Your throw bounces off the target rims and flies into the bottom. You score 0 points.;@notify me;&currscore me=add([u(#1044/currscore)],0);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE28 Skee-Ball=@pemit %0=Your throw bounces off the 40 and lands in the 10. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE29 Skee-Ball=@pemit %0=Your throw bounces off the 30 and lands in the 20. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE30 Skee-Ball=@pemit %0=Your throw bounces off the target rims and flies into the bottom. You score 0 points.;@notify me;&currscore me=add([u(#1044/currscore)],0);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE31 Skee-Ball=@pemit %0=Your throw bounces off the 40 and lands in the 10. You score 10 points.;@notify me;&currscore me=add([u(#1044/currscore)],10);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE32 Skee-Ball=@pemit %0=Your throw bounces off the 30 and lands in the 20. You score 20 points.;@notify me;&currscore me=add([u(#1044/currscore)],20);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE33 Skee-Ball=@pemit %0=Your throw lands directly in the 30 point target. You score 30 points.;@notify me;&currscore me=add([u(#1044/currscore)],30);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE34 Skee-Ball=@pemit %0=Your throw lands directly in the 40 point target. You score 40 points.;@notify me;&currscore me=add([u(#1044/currscore)],40);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE35 Skee-Ball=@pemit %0=Your throw lands directly in the 50 point target. You score 50 points.;@notify me;&currscore me=add([u(#1044/currscore)],50);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SCORE36 Skee-Ball=@pemit %0=Your throw lands directly in one of the 100 point targets. You score 100 points.;@notify me;&currscore me=add([u(#1044/currscore)],100);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&SBSAYTEST Skee-Ball=\$sbsaytest:@pemit %#=Your SBSAY message will look like this: %r[name(%#)] [edefault(%#/sbsay,cries out\, "WHAT DO I LOOK LIKE\, A DUNK TANK?")]
&SKEESCORE Skee-Ball=\$skeescore:@switch [u(#1044/currplayer)]=0,{@pemit %#=No one is currently playing. The last score was [v(currscore)]. %rThe record low score is [v(lowscore)], set by [name([v(lowscorer)])] on [v(lowscoredate)]. %rThe record high score is [v(highscore)], set by [name([v(highscorer)])] on [v(highscoredate)].},{@pemit %#=[name([v(currplayer)])]'s current Skee-Ball score is [v(currscore)]. [name([v(currplayer)])] has [v(throwsleft)] throws left. %rThe current low score is [v(lowscore)], set by [name([v(lowscorer)])] on [v(lowscoredate)]. %rThe current high score is [v(highscore)], set by [name([v(highscorer)])] on [v(highscoredate)].}
&SCORE20 Skee-Ball=@pemit %0=Your ball FLIES up, bounces off the 50 point target, and falls straight into one of the two 100 point targets.;@notify me;&currscore me=add([u(#1044/currscore)],100);&throwsleft me=sub([u(#1044/throwsleft)],1);@switch [eq([v(throwsleft)],0)]=1,{@emit [name([v(currplayer)])] finishes Skee-Ball with a final score of [v(currscore)].;@switch [lt([v(currscore)],[v(lowscore)])]=1,{@emit A blue light flashes and a sign lights up: NEW LOW SCORE;&lowscorer me=[v(currplayer)];&lowscore me=[v(currscore)];&lowscoredate me=[time()]};@switch [gt([v(currscore)],[v(highscore)])]=1,{@emit A red light flashes and a sign lights up: NEW HIGH SCORE;&highscorer me=[v(currplayer)];&highscore me=[v(currscore)];&highscoredate me=[time()]};@wait 2=&currplayer me=0;@wait 2=@cost me=1}
&RESET Skee-Ball=&throwsleft me=0;&currscore me=0;&currplayer me=0;@cost me=1;@drain me;@notify me;@emit A small sign lights up "RESET!"
&CURRPLAYER Skee-Ball=0
&MYLOM Skee-Ball=@emit The Clerk grabs [name(%0)], who gets tossed up the Skee-Ball ramp, goes through the hole and out the arcade!;@tel %0=#158;@trigger me/bonus
@Otport Skee-Ball=teleports in.
@Oxtport Skee-Ball=teleports out.
&NEWTOSS Skee-Ball=[first(shuffle(filter(sbsay_filter,[lcon([loc(me)])])))]
&SBSAY_FILTER Skee-Ball=[or(strmatch(type(%0),PLAYER),not(strmatch(NOSBSAY,default(%0/sbsay,NOSBSAY))))]
&FIX_ARTICLE Skee-Ball=[switch(%0,a *,rest(%0),an *,rest(%0),the *,rest(%0),%0)]
@set Skee-Ball=SAFE
@set Skee-Ball=COMMANDS