Lyle's Dartboard

Yet another 'banaludicrous' spam-emitting, waste-of-database-space brought to you by Lyle@Paris:LfdM(C1). And yet, a nice object-lesson in how to use the 'extract' function. It's infotainment!!

Category: Games
Commands: @create, @describe, @emit, @lock.
Functions: add(), extract(), rand(), u().

Instructions

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

MUSHCode for Lyle's Dartboard

@create Dartboard
@lock Dartboard==me
&TOSS Dartboard=$toss:@emit %N tosses a dart at the dartboard. The dart lands in the [extract(u(section),[add(rand(20),1)],1,|)][extract(u(bonus),[add(rand(40),1)] ,1,|)]
&SECTION Dartboard=one point section|two point section|three point section|four point section|five point section|six point section|seven point section|eight point section|nine point section|ten point section|eleven point section|twelve point section|thirteen point section|fourteen point section|fifteen point section|sixteen point section|seventeen point section|eighteen point section|nineteen point section|twenty point section
&BONUS Dartboard=...no, wait, it's in the double bullseye!! 50 points!!|...no, wait, it's in the bullseye! 25 points!|...no, wait, it's in the bullseye! 25 points!|, and in the treble ring. x3 points!|, and in the treble ring. x3 points!|, and in the treble ring. x3 points!|, and in the double ring. x2 points!|, and in the double ring. x2 points!|, and in the double ring. x2 points!|, and in the double ring. x2 points!|, and in the double ring. x2 points!|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|, but falls out. No points for that toss.
@Desc Dartboard=%rYour standard red-and-black cork dartboard. Traditionally, the players set a starting total (301 or 501 are the most common), and then each toss reduces that total. The first player to reach zero points, -exactly-, wins. If a toss would get you less than zero, then that toss is considered to've missed. Darting connoisseurs have it that one needs to get in the doubles ring to even -begin- scoring points, and that one needs to have the final points in a doubles ring as well. Obviously, most folks just have fun with them. Three darts per player, and (in the tradition of all good games played wherever alcohol is sold) it's up to the player to keep track of one's score. Stand three metres away from the board, no tossing darts at paying customers, and have fun. Command: 'toss'%r
&MEAN Dartboard=$toss dart at *:@emit %N tosses a dart at %0!!! >>---> (OOC: Dex+ (Throwing or Athletics) vs. difficulty 6. Damage is one-half %N's STR, rounded up.)
&JUDGENOTE Dartboard=I'm sorry you have to be reading this. You give a few folks a fun little game, and they ruin it for everyone else by throwing darts at each other. *sigh* Indoors, it's assumed that the proximity is close enough, and that everyone was ASSUMING that they'd be throwing at the dartboard, thus the difficulty remaining constant. If someone decides to steal a dart, the range/difficulty for thrown weapons is 'Difficulty = Yards or Meters divided by Strength'. So, 12 yds with 1 STR is difficulty 12. 12 yds with 2 STR is difficulty 6. 3 STR is difficutly 4. And 4 STR is difficulty 3. STRx10 is the maximum range, in yards/meters. Oh, and either the owner or the regular players will notice the missing dart pretty much right off the bat.
&CREDITS Dartboard=Yet another 'banaludicrous' spam-emitting, waste-of-database-space brought to you by Lyle@Paris:LfdM(C1). And yet, a nice object-lesson in how to use the 'extract' function. It's infotainment!!