Constant Story "Driver's License^"; Constant Headline "by John Lodder and Ben Sussman^"; Include "Parser"; Include "VerbLib"; Include "Grammar"; Include "moveclass"; !--------------------------------- Object outside "Parking Lot" with name "line" "lot" "parking lot" "building", description "Crestfallen, you are standing before a large architecturally-deficient building. A long line of miserable people (waiting to be processed) spills into the parking lot, and you're at the end of the line. The line wanders north through the building's only entrance, which is topped by a cheerful sign.", after [; Wait: "You tap your toes for a minute, but the line doesn't seem to be moving."; ], n_to foyer, cant_go "You're here to get a driver's license, remember?", has light; Object -> lot_sign "doorway sign" with name "sign" "doorway", description "DRIVER SERVICES CENTER^Department of Motor Vehicles^ Niles, IL^Working to serve you!", has scenery; Object foyer "Foyer" with initial "^You discretely push your way past the crowd, hoping not to anger anyone...", description "You're in the foyer of the Driver Services Center, built to serve *your* needs. In every direction there are lines of people waiting to be served in different ways. To the east is that limbo known as the Waiting Area, and complete escape lies to the south.", s_to outside, n_to dance_floor, e_to waiting_area, w_to main_desk, cant_go "~I wouldn't cut across those lines of people.~", has light; Object -> kiosk "kiosk" with name "booth" "kiosk", initial "A kiosk grows out of the middle of the area.", react_after [; Look: <>; ], has static container open enterable transparent; Object -> -> crusty_man "crusty man" with name "man" "crusty" "old man" "Bob", initial "A crusty old man is sitting in the kiosk, staring at you.", description "He's gruff and balding, and looks too old to hold any other job.", life [; Show: if (noun==picture_ID) { "~I'm glad you have your picture ID. Move along.~"; } "The man grunts. You're not sure if he understands you."; Kiss: "The man is stunned at first, then blinks coyly at you."; default: "~Eh? The name's Bob.~"; ], has animate; Object main_desk "Main Desk" with description "This is the main desk, presumably where the final driver's licenses are handed out. There is a stern-looking sign attached to the desk.", e_to foyer, n_to test_area, ne_to dance_floor, has light; Object -> desk_sign "desk sign" with name "sign" "desk" "announcement", description "^Before receiving your driver's license,^you must present four receipts:^^1. Proof of ID^2. Proof of Eye Test^3. Proof of Written Test^4. Proof of Road Test^^NO EXCEPTIONS", has scenery; Object -> photographer "photographer" with name "man", initial "A bored-looking photographer is quietly sitting behind the desk, waiting to take pictures.", description "Apparently not many people are ready to get their licenses, since he appears almost asleep.", seen_ID, seen_eye, seen_written, seen_road, life [; default: "The man opens half an eye at you, realizes you don't have what he wants, and goes back to his daydream."; ], has animate; Object dance_floor "Dance Floor" with description "This is the crossroads, full of people mulling about, but obviously in no mood to dance. Osmotic pressure encourages you to move elsewhere.", w_to test_area, se_to waiting_area, s_to foyer, e_to clerks, n_to cashier, sw_to main_desk, has light; Object test_area "Testing Area" with description "Many people scribble furiously at tiny desks.", e_to dance_floor, n_to washroom, s_to main_desk, has light; Object clerks "Clerk Windows" with description "~May I have your information, please?~, says a perky woman.", w_to dance_floor, s_to waiting_area, nw_to cashier, has light; Object cashier "Cashier" with description "A bored looking woman is willing to take your money here.", s_to dance_floor, se_to clerks, sw_to test_area, has light; Object waiting_area "Waiting Area" with description "You're standing in a drab area with bored-looking people mulling around. Apparently they're there for the same reason you are -- looking for help -- but no one is sure if it will ever come. To the east is a washroom. ^^Time seems to stand still.", w_to foyer, n_to clerks, cant_go "It's peaceful here, and the nagging feeling that help may come entices you to take a seat...", each_turn [; print_ret "^The speaker announces: ", (string) random( "~Mrs. Jones, please come and fetch your child from the parking lot.~", "~Mr. Willard, you have a phone call.~", "~Attention all customers -- please be sure to ~" ); ], has light; Object washroom "Washroom" with name "bathroom" "washroom" "toilet", description "It's a gross place in here.", s_to test_area, has light; Object -> girl "bratty girl" class moveclass, with name "girl" "brat" "kid", walkoff "storms off to the", walkon "races in", has animate; Object picture_ID "picture ID" with name "ID" "picture" "picture ID" "card", description "Ug. Is that really you?"; Object pen "ball-point pen" with name "pen" "ball-point", description "Looking through its transparent body, you can see that it's very low on ink. The tip is covered with bite marks."; Object amulet "Amulet of Death" with name "amulet" "death", description "Careful not to look at it directly, it glows menacingly in your hand. Woe to those to stare upon it!", before [; Show: ChangePlayer(crusty_man, 1); print_ret (The) second, " screams hideously and is engulfed in hellfire. A moment later the ashes scatter. Luckily, nobody else seemed to notice."; ]; [ Initialise; location = outside; move picture_ID to player; move pen to player; move amulet to player; StartDaemon(girl); "^^You've been lying about your driver's license for four years. Maybe it's time to really get one!^^Luckily, a friend drops you off at your local Driver Services Center. These things are optimized to process people quickly, so it shouldn't be too bad.^^"; ];