!!! This file was created after all participants had turned
!!! in a segment, as a way of filling gaps.

[ AuthorRoomSub;
  if (real_location provides author)
    print_ret "This room was created by ", (string)real_location.author, ".";
  "I have no information about the authorship of this room.";
];

[ AuthorObjectSub;
  if (noun provides author)
    print_ret (The)noun, " was created by ", (string)noun.author, ".";
  print_ret "I have no information about the authorship of ", (the)noun, ".";
];

Verb meta 'author' 'xyzzy' 
  *                                     -> AuthorRoom
  * noun                                -> AuthorObject;

Object	receptionist "the receptionist" inside_base
  with	name 'receptionist' 'woman' 'lady' 'broad',
  		author "Jacqueline and maga",
		description
		[;
				if (self hasnt general)
					{print
					"The receptionist oozes smug self-satisfaction, undying loyalty to the
					oppressive corporate hegemons, and vicious contempt for anybody with a
					salary less than hers. Her hair and skin house a vast swarm of unseen
					nanobots which constantly monitor major TV channels and update her
					features to closely match the style of the moment; her manicure is
					quite capable of shredding through the most modern body armour.

					Of course, eventually the nanobot byproducts will start turning her
					kidneys into the size and consistency of synthetic haggis; then XPQ
					will farm her out as a toxic political talk-show pundit for a decade
					or so, and eventually her warped, flaking bones will be flogged off
					for traditional Chinese medicine. Still, she "; style underline;
					print "has "; style roman; print "a career path, which is more than
					you can say.^";
					give self general;
					rtrue;}
				else
					{print "Your mind recoils against looking directly at her again. Instead, you
							focus upon a comforting image of ";
							switch(random(8)) {
								1:print "delicious creme brule@'e.^";
								2:print "gamboling baa-lambs.^";
								3:print "a fluffy bear-cub stuck up a tree.^";
								4:print "a graceful ballet dancer, rendered by Degas.^";
								5:print "a baby's first steps.^";
								6:print "fluffy kittens licking each other's faces.^";
								7:print "sweet, sweet intravenous valium.^";
								8:print "the fiery obliteration of all humanity.^";};
							rtrue;}
		],
	before [;
		Smell:
			"All receptionists in all XPQ bases wear the same perfume. Why they picked this
			perfume is a mystery to you.  You've always found the scent of vat-grown civet
			to be anything but attractive.";
		Kiss:
			"The nanobots maintaining the gore-crimson shade of her lipstick would
			probably convert you into basic nutrients. If she didn't get security
			to do the job for them.";
		Attack, Pull, Push, Take, Eat, Taste, LookUnder, Burn, Touch, ThrownAt:
			"If you're any judge, she's augmented enough to take you to pieces
			without wrinkling her trouser suit.";
		ShootAt:
			print "~Eat gamma, toxic harpy!~ you crow, enthusiastically pumping the
			trigger in the direction of the receptionist. You are treated to the
			sight of her nanobots going haywire and waging a brief and terminal
			battle across her thrashing body, although you don't quite get to see
			the conclusion before the security bandicoots pile onto you and drag
			you off to a life of slave labour and mercury poisoning.";
			deadflag = true;
			rtrue;
		],
	life 	[;
		Give:
			switch (noun)
			{
				jumpsuit:
					print "That'd be just the tiniest bit incriminating, don't you think?
					Uniforms are better "; style underline; print "worn "; style roman;
					print "than handed over as identification.^"; rtrue;
				
				default:
					if (jumpsuit has worn)
					{print	"~Oh, let "; style underline; print "me "; style roman; print
							"take care of that, sir,~ she says, taking ", (the) noun,
							" from you between index finger and thumb. ~I'll dispose of it post
							haste!~^^She snaps her fingers, and a little cleaning robot suddenly
							appears. It bows, takes ", (the) noun, " from her, and spirits it
							away. Very pleased with herself, the receptionist turns and bats her
							eyelashes at you. (Hope you didn't need that item anymore...)^";
							move noun to the_void;
							rtrue;}
					else
					{print	"The receptionist takes ", (the) noun, ", glances at it,
							 and hands it back to you. ~I want your "; style underline;
							print "paperwork"; style roman; print ", you rat!  Not... ";
							style underline; print "this"; style roman; print ".~
							 she snarls.^"; rtrue;};
			};
		Ask, Show, Tell, Answer:
			if (jumpsuit has worn)
			{print	"The receptionist beams toothily at you. The manufactured scent of
					sycophancy is thick in the air. Losing your nerve, you fake an
					attitude of self-importance and rudely ignore her instead.^"; rtrue;}
			else
			{print	"~Appointment details? Non-employee visitor paperwork?~ snaps the
					receptionist. You make a show of rooting through your pockets, while
					backing away slowly.^"; rtrue;};
		],
	orders 	[;
			default:
				if (jumpsuit has worn)
				{print	"The receptionist beams toothily at you. The manufactured scent of
						sycophancy is thick in the air. Losing your nerve, you fake an
						attitude of self-importance and rudely ignore her instead.^"; rtrue;}
				else
				{print	"~Appointment details? Non-employee visitor paperwork?~ snaps the
						receptionist. You make a show of rooting through your pockets, while
						backing away slowly.^"; rtrue;};
		],
has		animate female proper transparent scenery;

Object steel_cube_scenery "steel cube" SteelRoom
	with name 'steel' 'cube',
	author "Rob",
	before[;
		Examine: <<Look>>;
	],
	has scenery concealed
;

Object scenery_corn "cornfield"
	with name 'corn' 'field' 'fields' 'cornfield' 'cornfields' 'stalks' 'ear' 'ears' 'of',
	author "Rob",
	justification "I hate 'You don't need to refer to that in the course of this game.' ",
	description [;
		print "The cornfield grows under a vast glass ceiling which sheds
			an even grey light on the area. ";
		if ( RedButton has general && RedButton.time_left == 0 )
			print "The corn seems to be slightly taller than before. ";
		new_line; rtrue;
	],
	found_in [;
		if ( location == Roof || location ofclass CornLoc ) rtrue;
		rfalse;
	],
	has scenery
;

Object rectangle_of_dazzling_light "rectangle of dazzling light" Blindness
 with name 'rectangle' 'of' 'dazzling' 'bright' 'light',
	author "Rob",
	!!! This scenery item is also a cheat for adding the ultra green button,
	!!! so that there's a way to get out of this room if you go here, which
	!!! seems fairer to the player.
	description "A rectangle of dazzling light is to the south. The 
		illumination from it momentarily draws your eye to a green
		button, otherwise hidden in the blackness. ",
	add_to_scope UltraGreenButton,
	has scenery
;

Object light_bulb_on_a_string "hanging light bulb" pharma_closet
	with name 'light' 'bulb' 'on' 'string' 'cord',
	author "Rob",
	description "The supply closet is dimly lit with a light bulb 
		hanging on a string, just out of your reach.",
	before [;
		Examine: rfalse;
		Pull: "It's out of reach. ";
		default: "It isn't important. ";
	],
	has scenery concealed
;

Object other_cabinets "unimportant cabinets" pharma_closet
	with name 'cabinets' 'other' 'unimportant' 'aluminum' 'alum' 'aluminium'
		'doors',
	author "Rob",
	description "There's only one cabinet in here that's important, which
		is the huge rusted one. ",
	before [;
		default: "There's only one cabinet in here that's important, which
		is the huge rusted one. ";
	],
	has scenery concealed pluralname
;

Object blue_glow "blue glow" east_corridor
	with name 'blue' 'glow',
	author "Rob",
	description "It's your average brain-scanning blue glow.",
	before [;
		Examine: rfalse;
		Enter: <<Go e_obj>>;
		Smell: "Funny, it smells like shaving cream. ";
		default: "You'll have to go east to interact with the blue glow. ";
	],
	has scenery enterable
;

Object meadow_scenery "meadow" mm_field
	with name 'meadow' 'broad' 'flat' 'field',
	author "Rob",
	description "A broad, flat meadow surrounds you.",
	has scenery concealed
;

Object vague_path "path" mm_copse
	with name 'vague' 'path',
	author "Rob",
	description "A vague path leads south and west from here.",
	before [;
		Take: "You can take the path south or west. ";
	],
	has scenery concealed
;

Object scorch_mark "scorch mark" 
	with name 'scorch' 'scorched' 'mark' 'circular' 'black' 'blackened',
	author "Rob",
	description "You see nothing special about the scorch mark. ",
	before [;
		Smell: print "It smells like burnt ";
			if ( location == mm_copse ) "wood. ";
			"grass. ";
	],
	found_in [;
		return( ( location == mm_field or mm_circle or mm_copse ) && location has general );
	],
	has scenery
;


[ AboutSub;
"Confused?  I'm not surprised.  So were the authors.
^^The inspiration for this game was a thing called Comic Whispers,
an Exquisite Corpse-like game played by various people on if MUD and
Livejournal.  The idea behind Comic Whispers is that each participant
creates one panel of a comic strip, having seen only the panel
immediately before theirs.
^^It should be obvious that this idea can't be effectively applied
to interactive fiction.  So of course we had to give it a try.
^^Each person was given the previous person's source code, plus a
file containing whatever dummy object definitions were necessary to
get that code to compile.  There were no explicit restrictions on
what a person could add in their segment.
We allowed bugfixes in segments after they had
been submitted, but no really substantial changes to game content,
except for the addition, after all the segments were in, of
various objects mentioned in room descriptions but not implemented.
^^The result is actually better than I feared it would be.
The story may not make a lot of sense, but it's actually winnable,
and even solvable.  Hacks were necessary to link up segments;
if we ever try this again, we'll be sure to create a better
framework, probably involving a Room class that has exits defined
for all the standard directions.
^^The participants in this experiment, identified by their MUD
handles, are (in order of their segments):
^baf
^serhei 
^MauiPotiki 
^Rob 
^two-star 
^Jota 
^schep 
^Jacqueline and maga 
^inky 
^katre and Duchess
^markm
";

];


Verb meta 'about' 'info' 'credits' * -> About;