! -----------------------------------------------------------------------------
! PARANOIA -- a solo paranoia game taken from the Jan/Feb issue (77) of
! "SpaceGamer/FantasyGamer" magazine.
!
! Article by Sam Shirley.
!
! Implemented in C on Vax 11/780 under UNIX by Tim Lister.
!
! Converted to Inform 6 by Glenn Hutchings.
!
! This is a public domain adventure and may not be sold for profit.
! -----------------------------------------------------------------------------

Switches dxv5;

Constant Story	  "PARANOIA";
Constant Headline "^A Not-Very-Interactive Future
		   ^
		   ^From an article by Sam Shirley
		   ^Implemented in C on a Vax 11/780 by Tim Lister
		   ^Converted to Inform by Glenn Hutchings (zondo@@64hunting2.demon.co.uk)
		   ^Type 'help' for a list of valid commands.
		   ^
		   ^";
Serial   "990528";
Release  1;

Replace DrawStatusLine;

Include "Parser";

Object	LibraryMessages "lm"
  with	before [;
		Miscellany:
			switch (lm_n) {
			3:	" You have lost ";
			10:	"Type a command, Troubleshooter.";
			}
		Score: ;
	];

Include "VerbLib";

Constant MOXIE		= 13;
Constant AGILITY	= 15;
Constant MAXKILL	= 7;
Constant MAXCLONE	= 6;

Global clone		= 1;
Global computer_request = 0;
Global ultra_violet	= 0;
Global action_doll	= 0;
Global hit_points	= 10;
Global read_letter	= 0;
Global plato_clone	= 3;
Global blast_door	= 0;
Global killer_count	= 0;
Global moan_count	= 0;
Global moan_turn	= -1;

Global option;

! -------------------------------- Functions ----------------------------------

[ Initialise;
	print "^^Welcome to Paranoia!";

	print "^^"; style bold; print "HOW TO PLAY"; style roman;

	print "^^Very occasionally during this adventure, you will be given
	       a choice of things to do. Always choose the least
	       dangerous option. Continue doing this until you win. At times
	       you will use a skill or engage in combat and will be informed
	       of the outcome. These sections will be self explanatory. There
	       are a few other commands you can use -- type 'help' to find
	       out about them.";

	print "^^"; style bold; print "HOW TO DIE"; style roman;

	print "^^As Philo-R-DMD, you will die several times during the
	       adventure. A new clone will be activated to take the place
	       of the one that died, in a different location. The new Philo-R
	       will usually have to retrace some of the old Philo-R's path;
	       hopefully he won't make the same mistakes as his predecessor.";

	print "^^"; style bold; print "HOW TO WIN"; style roman;

	print "^^Simply complete the mission before expending all six of
	       your clones. Remember... stay alert, and keep your laser
	       handy.";

	print "^^";
	location = page_1;
];

! Print game info.
[ InfoSub;
	print "Thank you for your request, Troubleshooter. Accessing
	       archives...";

	print "^^PARANOIA is based on a solo adventure by Sam Shirley in
	       the Jan/Feb 1977 issue of ~SpaceGamer/FantasyGamer~ magazine,
	       which in turn is based on the Paranoia roleplaying game. It
	       was implemented in C on a Vax 11/780 by Tim Lister, which is
	       how I got hold of it. Just for kicks (and the programming
	       practice) I ported it to Inform.";

	print "^^Note for all you IF fans: it's not very interactive. It's
	       not a proper IF game. It beats up the Inform parser in a dark
	       alley. But it will make you appreciate all the other IF games
	       more.";

	new_line;
];

! Print your character's stats (not that they'll make any difference 8-).
[ StatsSub;
	print "^                       The Character Philo-R-DMD-", clone, "^";
	print "^Primary Attributes                      Secondary Attributes
	       ^==============================================================================
	       ^Strength ..................... 13       Carrying Capacity ................. 30
	       ^Endurance .................... 13       Damage Bonus ....................... 0
	       ^Agility ...................... 15       Macho Bonus ....................... -1
	       ^Manual Dexterity ............. 15       Melee Bonus ...................... +5%
	       ^Moxie ........................ 13       Aimed Weapon Bonus .............. +10%
	       ^Chutzpah ...................... 8       Comprehension Bonus .............. +4%
	       ^Mechanical Aptitude .......... 14       Believability Bonus .............. +5%
	       ^Power Index .................. 10       Repair Bonus ..................... +5%
	       ^==============================================================================
	       ^Credits: 160          Secret Society: Illuminati        Secret Society Rank: 1
	       ^Service Group: Power Services                       Mutant Power: Precognition
	       ^Weapon: laser pistol; to hit, 40%; type, L; Range, 50m; Reload, 6r; Malfnt, 00
	       ^Skills: Basics 1(20%), Aimed Weapon Combat 2(35%), Intimidation 3(34%),
	       ^        Personal Development 1(20%), Communications 2(29%), Laser 3(40%)
	       ^Equipment: Red Reflec Armour, Laser Pistol, Laser Barrel (red),
	       ^           Notebook & Stylus, Knife, Com Unit 1, Jump suit,
	       ^           Secret Illuminati Eye-In-The-Pyramid(tm) Decoder ring,
	       ^           Utility Belt & Pouches^";
];

[ MoanSub;
	if (moan_turn < turns - 1) moan_count = 0;
	moan_turn = turns;

	switch (++moan_count) {
		1: "That is an unauthorized command, Troubleshooter.";
		2: "That is another unauthorized command, Troubleshooter.";
		3: "That is yet another unauthorized command. Are you up to
		    this mission, Troubleshooter? You can tell me. The
		    computer is your friend.";
		4: "Yet another unauthorized command! I am beginning to
		    suspect you are a mutant commie traitor intent on
		    sabotaging the computer.";
		5: print "You hear a loud metallic voice. ~Attention!
			  computer sabotage in progress!~ Before you can
			  even type ~undo~, 13 kilbots glide around the
			  corner and blast you into component atoms.";
		   NewClone();
		   new_line;
		   PlayerTo(page_1);
	}
];

[ HelpSub;
	print "Thank you for selecting the help option, Troubleshooter.
	       Here is a list of the commands you are authorized to use.^
               ^      1, 2, ...            Select an appropriate option
               ^      continue (or c)      Continue your mission
               ^      look (or l)          Look around your location
               ^      stats (or s)         Show your player stats
               ^      info (or i)          Print some game info
               ^      help (or h)          Show this help message
               ^      save                 Save your game
               ^      restore              Restore a saved game
               ^      restart              Restart the game
               ^      version              Show the game version
               ^      script               Start a game transcript
               ^      unscript             End the transcript
               ^      debug                Hack into game debugger
               ^      quit (or q)          Leave the game
	       ^^If you have any questions about any of the commands,
	       please don't hesitate to ask. The computer is your
	       friend.^";
];

! Fiendish computer trap.
[ TrapSub;
	print "~Congratulations, Troubleshooter. You have successfully
	       activated the Secret Self-Incrimination Debugging Command,
	       and uncovered one more commie mutant traitor.~^^While you
	       wonder who the computer is referring to, hidden lasers dice
	       you into convenient bite size pieces, which a service bot
	       then carries off to the food vats.";
	NewClone();
	new_line;
	PlayerTo(page_1);
];

! Standard magic words.
[ XyzzySub;
	print "A hollow voice intones ";
	if (ultra_violet == 0)
		"~That is an A-1 ULTRAVIOLET ONLY command~.";
	print "~ULTRAVIOLET CLEARANCE VERIFIED~. A giant electrode descends
	       from the ceiling and you are engulfed in a pale blue
	       dematerialization beam.^^You appear in what looks like a
	       maze of twisty little passages, all alike. On looking around,
	       you notice a little dwarf in the room. He seems to be in the
	       process of throwing an axe at somebody behind you.^^THUD!";
	NewClone();
	new_line;
	PlayerTo(page_1);
];

! Roll a few dice and return the result.
[ DiceRoll number faces i total;
	total = 0;

	for (i = 0: i < number: i++) {
		total = total + random(faces);
	}

	return total;
];

! Oops -- clone just died. Start a new one.
[ NewClone;
	print "^^Clone ", clone, " just died.";

	if (++clone > MAXCLONE) {
		print "^^Oh dear. You seem to be out of clones.";
		deadflag = 1;
	} else {
		print "^^Clone ", clone, " now activated.";
		ultra_violet = 0;
		action_doll = 0;
		hit_points = 10;
		killer_count = 0;
		moan_count = 0;
	}
];

! Brutally hack the input line before the parser gets hold of it.
[ BeforeParsing;
	! Only one word allowed.
	parse->1 = 1;

	! Try an option number first.
	option = TryNumber(1);
	if (option ~= -1000) {
		parse-->1 = 'opt';
		return;
	}

	! If not, recognize other special commands.
	switch (NextWord()) {
		! Single-letter commands.
		#n$c:		parse-->1 = 'cont';
		#n$h:		parse-->1 = 'help';
		#n$i:		parse-->1 = 'info';
		#n$l:		parse-->1 = 'look';
		#n$q:		parse-->1 = 'quit';
		#n$s:		parse-->1 = 'stat';

		! Long versions of same.
		'continue':	parse-->1 = 'cont';
		'help':		parse-->1 = 'help';
		'look':		parse-->1 = 'look';
		'quit':		parse-->1 = 'quit';
		'stats':	parse-->1 = 'stat';
		'info':		parse-->1 = 'info';
		'debug':	parse-->1 = 'trap';
		'xyzzy':	parse-->1 = 'xyzzy';
		'plugh':	parse-->1 = 'xyzzy';

		! Let a few standard commands through.
		'save':		break;
		'restore':	break;
		'restart':	break;
		'version':	break;
		'script':	break;
		'unscript':	break;

		! Otherwise, just moan.
		default:	parse-->1 = 'moan';
	}
];

! Select a location option.
[ Pick prop loc zr;
	loc = location.prop;
	zr = ZRegion(loc);

	if (zr == 2) {
		loc = RunRoutines(location, prop);
		zr = ZRegion(loc);
	}

	if (zr == 1) {
		PlayerTo(loc);
		rtrue;
	}

	if (zr == 3)
		print_ret (string) loc;
];

[ OptionSub;
	switch (option) {
		1: Pick(pick1);
		2: Pick(pick2);
		3: Pick(pick3);
		default: MoanSub();
	}
];

[ ContinueSub; Pick(next); ];

! Custom status line showing no. of clones left.
[ DrawStatusLine width posa posb;
	@split_window 1; @set_window 1; @set_cursor 1 1; style reverse;
	width = 0->33; posa = width-26; posb = width-13;
	spaces width;
	@set_cursor 1 2; print (name) location;

	if (width > 76) {
		@set_cursor 1 posa; print "Clone: ", clone;
		@set_cursor 1 posb; print (string) MOVES__TX, turns;
	}

	if (width > 63 && width <= 76) {
		@set_cursor 1 posb; print clone, "/", turns;
	}

	@set_cursor 1 1; style roman; @set_window 0;
];

! ---------------------------- Grammar extensions -----------------------------

Include "Grammar";

Verb	"opt"	*	-> Option;
Verb	"cont"	*	-> Continue;
Verb	"stat"	*	-> Stats;
Verb	"moan"	*	-> Moan;
Verb	"info"	*	-> Info;
Verb	"trap"	*	-> Trap;
Verb	"help"	*	-> Help;
Verb	"xyzzy" *	-> Xyzzy;

! ------------------------------- The Node Class ------------------------------

! This class implements the basic adventure 'page', a Node. Each node is
! just a location with a few special properties.

Property text;		! Text printed when the node is visited.
Property run;		! Routine run after the text is printed.
Property next;		! Next node in sequence (if no options specified).

Property opt1;		! Option text (or a routine to return it).
Property opt2;		! Only 3 options catered for at the moment,
Property opt3;		! although it can be increased easily.

Property pick1;		! Nodes reached by choosing the appropriate option,
Property pick2;		! or a routine to return it. There should be the
Property pick3;		! same number of 'pick' props as 'opt' ones.

Class	Node
	with describe [;
		switch (ZRegion(self.text)) {
			2: self.text();
			3: print (string) self.text;
		}

		if (self provides run) self.run();

		self.numopts = 0;
		self.showopt(1, opt1);
		self.showopt(2, opt2);
		self.showopt(3, opt3);
		if (self.numopts > 0) return;

		if (self provides next && deadflag == 0)
			"^^Type ~c~ to continue the mission.";
		"^^[ There is no escape from this node. ]";
	],
	showopt [ n prop str;
		if (~~(self provides prop)) rfalse;
		str = self.prop;
		if (ZRegion(str) == 2) str = self.prop();
		if (str == 0) rfalse;
		if (self.numopts++ == 0) print "^^";
		print "  (", n, ") ", (string) str, "^";
	],
	numopts 0,
	text "[ No description written for this node. ]",
	pick1 [; MoanSub(); ],
	pick2 [; MoanSub(); ],
	pick3 [; MoanSub(); ],
	next  [; MoanSub(); ],
  has	light;

! --------------------------------- The Game ----------------------------------

Node	page_1 "Briefing Cell"
with	text   "You wake up face down on the red and pink checked E-Z-Kleen
		linoleum floor. You recognise the pattern, it's the type
		preferred in the internal security briefing cells.  When you
		finally look around you, you see that you are alone in a
		large mission briefing room.",
	next	page_57;

Node	page_2 "Self Incrimination Station"
with	text   "~Greetings,~ says the kindly Internal Security self
		incrimination expert who meets you at the door, ~How are we
		doing today?~  He offers you a doughnut and coffee and asks
		what brings you here.  This doesn't seem so bad, so you
		tell him that you have come to confess some possible
		security lapses.  He smiles knowingly, deftly catching your
		coffee as you slump to the floor. ~Nothing to be alarmed
		about; it's just the truth serum,~ he says, dragging you
		back into a discussion room.^^The next five hours are a dim
		haze, but you can recall snatches of conversation about
		your secret society, your mutant power, and your somewhat
		paranoid distrust of The Computer.  This should explain why
		you are hogtied and moving slowly down the conveyer belt
		towards the meat processing unit in Food Services.",
	run [;
		NewClone();
	],
	next [;
		if (computer_request == 1) return page_45;
		return page_32;
	];

Node	page_3 "Computer Terminal"
with	text   "You walk to the nearest Computer terminal and request more
		information about Christmas.  The Computer says, ~That is
		an A-1 ULTRAVIOLET ONLY IMMEDIATE TERMINATION classified
		topic.  What is your clearance please, Troubleshooter?~",
	opt1	"You give your correct clearance.",
	pick1	page_4,
	opt2	"You lie and claim Ultraviolet clearance.",
	pick2	page_5;

Node	page_4 "Computer Terminal"
with	text   "~That is classified information, Troubleshooter, thank you
		for your inquiry. Please report to an Internal Security
		self incrimination station as soon as possible.~",
	next	page_9;

Node	page_5 "Computer Terminal"
with	text   "The computer says, ~Troubleshooter, you are not wearing the
		correct colour uniform.  You must put on an Ultraviolet
		uniform immediately.  I have seen to your needs and ordered
		one already; it will be here shortly.  Please wait with
		your back to the wall until it arrives.~  In less than a
		minute an infrared arrives carrying a white bundle.  He
		asks you to sign for it, then hands it to you and stands
		back, well outside of a fragmentation grenade's blast
		radius.",
	opt1	"You open the package and put on the uniform.",
	pick1	page_6,
	opt2	"You finally come to your senses and run for it.",
	pick2	page_7;

Node	page_6 "Computer Terminal"
with	text   "The uniform definitely makes you look snappy and pert.  It
		really looks impressive, and even has the new lopsided
		lapel fashion that you admire so much.  What's more,
		citizens of all ranks come to obsequious attention as you
		walk past.  This isn't so bad being an Ultraviolet.  You
		could probably come to like it, given time.^^The beeping
		computer terminal interrupts your musings.",
	run [;
		ultra_violet = 1;
	],
	next	page_8;

Node	page_7 "Computer Terminal"
with	text   "The corridor lights dim and are replaced by red battle
		lamps as the Security Breach alarms howl all around you.
		You run headlong down the corridor and desperately windmill
		around a corner, only to collide with a squad of 12 Blue
		clearance Vulture squadron soldiers.  ~Stop, Slime Face,~
		shouts the commander, ~or there won't be enough of you left
		for a tissue sample.~ ~All right, soldiers, stuff the
		greasy traitor into the uniform,~ he orders, waving the
		business end of his blue laser scant inches from your
		nose. With his other hand he shakes open a white bundle to
		reveal a pristine new Ultraviolet citizen's uniform. One of
		the Vulture squadron Troubleshooters grabs you by the neck
		in the exotic and very painful Vulture Clamp(tm) death grip
		(you saw a special about it on the Teela O'Malley show),
		while the rest tear off your clothes and force you into the
		Ultraviolet uniform.  The moment you are dressed they step
		clear and stand at attention.^^~Thank you for your
		cooperation, sir,~ says the steely eyed leader of the
		Vulture Squad.  ~We will be going about our business now.~
		With perfect timing the Vultures wheel smartly and
		goosestep down the corridor. Special Note: don't make the
		mistake of assuming that your skills have improved any
		because of the uniform; you're only a Red Troubleshooter
		traitorously posing as an Ultraviolet, and don't you forget
		it! Suddenly, a computer terminal comes to life beside
		you.",
	run [;
		ultra_violet = 1;
	],
	next	page_8;

Node	page_8 "Computer Terminal"
with	text   "~Now, about your question, citizen.  Christmas was an old
		world marketing ploy to induce lower clearance citizens to
		purchase vast quantities of goods, thus accumulation a
		large amount of credit under the control of a single class
		of citizen known as Retailers.  The strategy used is to
		imply that all good citizens give gifts during Christmas,
		thus if one wishes to be a valuable member of society one
		must also give gifts during Christmas.  More valuable gifts
		make one a more valuable member, and thus did the Retailers
		come to control a disproportionate amount of the currency.
		In this way Christmas eventually caused the collapse of the
		old world.  Understandably, Christmas has been declared a
		treasonable practice in Alpha Complex. Thank you for your
		inquiry.~^^You continue on your way to GDH7-beta.",
	next [;
		if (ultra_violet == 0) return page_10;
		return page_10a;
	];

Node	page_9 "Outside Self Incrimination Station"
with	text   "As you walk toward the tubecar that will take you to
		GDH7-beta, you pass one of the bright blue and orange
		Internal Security self incrimination stations. Inside, you
		can see an IS agent cheerfully greet an infrared citizen
		and then lead him at gunpoint into one of the rubber lined
		discussion rooms.",
	opt1	"You decide to stop here and chat, as ordered by The
		 Computer.",
	pick1 [;
		computer_request = 1;
		return page_2;
	],
	opt2	"You just continue blithely on past.",
	pick2 [;
		if (ultra_violet == 0) return page_10;
		return page_10a;
	];

Node	page_10 "Alpha Complex"
with	text   "You stroll briskly down the corridor, up a ladder, across
		an unrailed catwalk, under a perilously swinging blast door
		in urgent need of repair, and into tubecar grand central.
		This is the bustling hub of Alpha Complex tubecar
		transportation.  Before you spreads a spaghetti maze of
		magnalift tube tracks and linear accelerators.  You bravely
		study the specially enhanced 3-D tube route map; you
		wouldn't be the first Troubleshooter to take a fast tube
		ride to nowhere.",
	opt1	"You decide to ask The Computer about Christmas using a
		 nearby terminal.",
	pick1	page_3,
	opt2	"You think you have the route worked out, so you'll board
		 a tube train.",
	pick2	page_10a;

Node	page_10a "Tubecar"
with	text   "You nervously select a tubecar and step aboard.",
	next [;
		if (DiceRoll(2, 10) < MOXIE) {
			print "You just caught a purple line tubecar.^";
			return page_13;
		} else {
			print "You just caught a brown line tubecar.^";
			return page_48;
		}
	];

Node	page_11 "Briefing Cell"
with	text [;
		print "The printing on the folder says ~Experimental Self
		       Briefing.~ You open it and begin to read the
		       following:^^";
		print "Step 1: Compel the briefing subject to attend the
		       briefing.^";
		print "^        Note: See Experimental Briefing Sub Form Indigo-WY-2, 
		       ^        'Experimental Self Briefing Subject Acquisition Through
		       ^        The Use Of Neurotoxin Room Foggers.'^^";
		print "Step 2: Inform the briefing subject that the briefing
		       has begun.^";
		print "^        ATTENTION: THE BRIEFING HAS BEGUN.^^";
		print "Step 3: Present the briefing material to the briefing
		       subject.^";
		print "^        GREETINGS TROUBLESHOOTER.^
		       ^        YOU HAVE BEEN SPECIALLY SELECTED TO SINGLEHANDEDLY WIPE OUT A
		       ^        DEN OF TRAITOROUS CHRISTMAS ACTIVITY. YOUR MISSION IS TO GO TO
		       ^        GOODS DISTRIBUTION HALL 7-BETA AND ASSESS ANY CHRISTMAS ACTIVITY
		       ^        YOU FIND THERE. YOU ARE TO INFILTRATE THESE CHRISTMAS CELEBRANTS,
		       ^        LOCATE THEIR RINGLEADER, AN UNKNOWN MASTER RETAILER, AND BRING
		       ^        HIM BACK FOR EXECUTION AND TRIAL. THANK YOU. THE COMPUTER IS
		       ^        YOUR FRIEND.^^";
		print "Step 4: Sign the briefing subject's briefing release form
		       to indicate that the briefing subject has completed the
		       briefing.^";
		print "^        ATTENTION: PLEASE SIGN YOUR BRIEFING RELEASE FORM.^^";
		print "Step 5: Terminate the briefing.^";
		print "^        ATTENTION: THE BRIEFING IS TERMINATED.^^";

		print "You walk to the door and hold your signed briefing
		       release form up to the plexiglass window.  A guard
		       scrutinises it for a moment and then slides back the
		       megabolts holding the door shut.  You are now free
		       to continue the mission.";
	],
	opt1	"You wish to ask The Computer for more information
		 about Christmas.",
	pick1	page_3,
	opt2	"You have decided to go directly to Goods Distribution
		 Hall 7-beta.",
	pick2 [;
		if (ultra_violet == 0) return page_10;
		return page_10a;
	];

Node	page_12 "Briefing Cell"
with	text   "You walk up to the door and push the button labelled ~push
		to exit.~ Within seconds a surly looking guard shoves his
		face into the small plexiglass window.  You can see his
		mouth forming words but you can't hear any of them. You
		just stare at him blankly for a few moments until he
		points down to a speaker on your side of the door.  When
		you put your ear to it you can barely hear him say, ~Let's
		see your briefing release form, bud.  You aren't getting
		out of here without it.~",
	opt1	"You sit down at the table and read the Orange packet.",
	pick1	page_11,
	opt2	"You stare around the room some more.",
	pick2	page_57;

Node	page_13 "Tubecar"
with	text   "You step into the shiny plasteel tubecar, wondering why the
		shape has always reminded you of bullets.  The car shoots
		forward the instant your feet touch the slippery gray
		floor, pinning you immobile against the back wall as the
		tubecar careens toward GDH7-beta.  Your only solace is the
		knowledge that it could be worse, much worse.^^Before too
		long the car comes to a stop.  You can see signs for
		GDH7-beta through the window.  With a little practice you
		discover that you can crawl to the door and pull open the
		latch.",
	next	page_14;

Node	page_14 "GDH 7-Beta"
with	text   "You manage to pull yourself out of the tubecar and look
		around.  Before you is one of the most confusing things you
		have ever seen, a hallway that is simultaneously both red
		and green clearance.  If this is the result of Christmas
		then it's easy to see the evils inherent in its
		practice. You are in the heart of a large goods
		distribution centre.  You can see all about you evidence of
		traitorous secret society Christmas celebration; rubber
		faced robots whiz back and forth selling toys to holiday
		shoppers, simul-plast wreaths hang from every light
		fixture, while ahead in the shadows is a citizen wearing a
		huge red synthetic flower.",
	next	page_22;

Node	page_15 "GDH 7-Beta"
with	text   "You are set upon by a runty robot with a queer looking face
		and two pointy rubber ears poking from beneath a tattered
		cap.  ~Hey mister,~ it says, ~you done all your last minute
		Christmas shopping?  I got some real neat junk here.  You
		don't wanna miss the big day tommorrow, if you know what I
		mean.~ The robot opens its bag to show you a pile of shoddy
		Troubleshooter dolls.  It reaches in and pulls out one of
		them.  ~Look, these Action Troubleshooter(tm) dolls are the
		neatest thing.  This one's got moveable arms and when you
		squeeze him, his little rifle squirts realistic looking
		napalm.  It's only 50 credits.  Oh yeah, Merry Christmas.~",
	opt1	"You decide to buy the doll.",
	pick1	page_16,
	opt2	"You shoot the robot.",
	pick2	page_17,
	opt3	"You ignore the robot and keep searching the hall.",
	pick3	page_22;

Node	page_16 "GDH 7-Beta"
with	text   "The doll is a good buy for fifty credits; it will make a
		fine Christmas present for one of your friends.  After the
		sale the robot rolls away.  You can use the doll later in
		combat.  It works just like a cone rifle firing napalm,
		except that occasionally it will explode and blow the user
		to smithereens. But don't let that stop you.",
	next [; action_doll = 1; return page_22; ];

Node	page_17 "GDH 7-Beta"
with	text   "You whip out your laser and shoot the robot, but not
		before it squeezes the toy at you. The squeeze toy has the
		same effect as a cone rifle firing napalm, and the elfbot's
		armour has no effect against your laser.",
	run [ i robot_hp;
		for (i = 0: i < 2: i++) {
			if (DiceRoll(1, 100) <= 25) {
				print "^^You have been hit!";
				hit_points = hit_points - DiceRoll(1, 10);
				if (hit_points <= 0) {
					NewClone();
					self.goto = page_45;
					return;
				}
			} else {
				print "^^It missed you, but not by much!";
			}

			if (DiceRoll(1, 100) <= 40) {
				print "^^You zapped the little bastard!";
				robot_hp = robot_hp - DiceRoll(2, 10);
				if (robot_hp <= 0) {
					print "^^You wasted it! Good shooting!";
					print "^^You will need more evidence,
					       so you search GDH7-beta further";
					if (hit_points < 10)
						print " after the GDH medbot
						       has patched you up";
					print ".";
					hit_points = 10;
					return;
				}
			} else {
				print "^^Damn! You missed!";
			}
		}

		print "^^It tried to fire again, but the toy exploded
		       and demolished it.";
		print "^^You will need more evidence, so you search
		       GDH7-beta further";
		if (hit_points < 10)
			print " after the GDH medbot has patched you up";
		print ".";
	],
	goto	page_22,
	next [;
		return self.goto;
	];

Node	page_18 "GDH 7-Beta"
with	text   "You walk to the centre of the hall, ogling like an infrared
		fresh from the clone vats.  Towering before you is the most
		unearthly thing you have ever seen, a green multi armed
		mutant horror hulking 15 feet above your head. Its skeletal
		body is draped with hundreds of metallic strips (probably
		to negate the effects of some insidious mutant power), and
		the entire hideous creature is wrapped in a thousand
		blinking hazard lights.  It's times like this when you wish
		you'd had some training for this job.  Luckily the creature
		doesn't take notice of you but stands unmoving, as though
		waiting for a summons from its dark lord, the Master
		Retailer.^^WHAM! Suddenly you are struck from behind.",
	next [;
		if (DiceRoll(2, 10) < AGILITY) return page_19;
		return page_20;
	];

Node	page_19 "GDH 7-Beta"
with	text   "Quickly you regain your balance, whirl and fire your laser
		into the Ultraviolet citizen behind you.  For a moment your
		heart leaps to your throat, then you realise that he is
		indeed dead and you will be the only one filing a report on
		this incident.  Besides, he was participating in this
		traitorous Christmas shopping, as is evident from the rain
		of shoddy toys falling all around you. Another valorous
		deed done in the service of The Computer!",
	next [;
		killer_count++;
		if (killer_count > MAXKILL - clone) return page_21;
		if (read_letter == 1) return page_22;
		return page_19a;
	];

Node	page_19a "GDH 7-Beta"
with	text   "You are standing over the body of a dead Ultraviolet
		citizen.",
	opt1	"You search the body, keeping an eye open for Internal
		 Security.",
	pick1	page_34,
	opt2	"You run away like the cowardly dog you are.",
	pick2	page_22;

Node	page_20 "GDH 7-Beta"
with	text   "Oh no! you can't keep your balance.  You're falling,
		falling head first into the Christmas beast's gaping maw.
		It's a valiant struggle; you think you are gone when its
		poisonous needles dig into your flesh, but with a heroic
		effort you jerk a string of lights free and jam the live
		wires into the creature's spine.  The Christmas beast
		topples to the ground and begins to burn, filling the area
		with a thick acrid smoke.  It takes only a moment to
		compose yourself, and then you are ready to continue your
		search for the Master Retailer.",
	next	page_22;

Node	page_21 "GDH 7-Beta"
with	text   "You have been wasting the leading citizens of Alpha
		Complex at a prodigious rate.  This has not gone unnoticed
		by the Internal Security squad at GDH 7-beta. Suddenly, a
		net of laser beams spear out of the gloomy corners of the
		hall, chopping you into teeny, weeny bite size pieces.",
	run [;
		NewClone();
	],
	next	page_45;

Node	page_22 "GDH 7-Beta"
with	text   "You are searching Goods Distribution Hall 7-beta.",
	next [;
		switch (DiceRoll(1, 4)) {
			1, 2:	return page_18;
			3:	return page_15;
			4:	return page_29;
		}
	];

Node	page_23 "Computer Terminal"
with	text   "You go to the nearest computer terminal and declare
		yourself a mutant. ~A mutant, he's a mutant,~ yells a
		previously unnoticed infrared who had been looking over
		your shoulder.  You easily gun him down, but not before a
		dozen more citizens take notice and aim their weapons at
		you.",
	opt1	"You tell them that it was really only a bad joke.",
	pick1	page_28,
	opt2	"You want to fight it out, one against twelve.",
	pick2	page_24;

Node	page_24 "Computer Terminal"
with	text   "Golly, I never expected someone to pick this.  I haven't
		even designed the 12 citizens who are going to make a
		sponge out of you.  Tell you what, I'll give you a second
		chance.",
	opt1	"You change your mind and say it was only a bad joke.",
	pick1	page_28,
	opt2	"You REALLY want to shoot it out.",
	pick2	page_25;

Node	page_25 "Computer Terminal"
with	text   "Boy, you really can't take a hint!^^They're closing in.
		Their trigger fingers are twitching, they're about to
		shoot.  This is your last chance.",
	opt1	"You tell them it was all just a bad joke.",
	pick1	page_28,
	opt2	"You are going to shoot.",
	pick2	page_26;

Node	page_26 "Computer Terminal"
with	text   "You can read the cold, sober hatred in their eyes (they
		really didn't think it was funny), as they tighten the
		circle around you.  One of them shoves a blaster up your
		nose, but that doesn't hurt as much as the multi-gigawatt
		carbonium tipped food drill in the small of your back. You
		spend the remaining micro-seconds of your life wondering
		what you did wrong.",
	run [;
		NewClone();
	],
	next	page_32;

Node	page_27 "Void"
with	text   "Doesn't exist.  Can't happen with computer version.
		Designed to catch dice cheats.";

Node	page_28 "Computer Terminal"
with	text   "They don't think it's funny.",
	next	page_26;

Node	page_29 "GDH 7-Beta"
with	text   "~Psst, hey citizen, come here.  Pssfft,~ you hear.  When
		you peer around you can see someone's dim outline in the
		shadows.  ~I got some information on the Master Retailer.
		It'll only cost you 30 psst credits.~",
	opt1	"You pay the 30 credits for the info.",
	pick1	page_30,
	opt2	"You would rather threaten him for the information.",
	pick2	page_31,
	opt3	"You ignore him and walk away.",
	pick3	page_22;

Node	page_30 "Outside Blast Door"
with	text   "You step into the shadows and offer the man a thirty credit
		bill.  ~Just drop it on the floor,~ he says.  ~So you're
		looking for the Master Retailer, pssfft? I've seen him,
		he's a fat man in a fuzzy red and white jump suit.  They
		say he's a high programmer with no respect for proper
		security.  If you want to find him then pssfft step behind
		me and go through the door.~^^Behind the man is a
		reinforced plasteel blast door.  The centre of it has been
		buckled toward you in a manner you only saw once before
		when you were field testing the rocket assist plasma
		slingshot (you found it easily portable but prone to
		misfire).  Luckily it isn't buckled too far for you to make
		out the warning sign.  WARNING!! Don't open this door or
		the same thing will happen to you.  Opening this door is a
		capital offense.  Do not do it.  Not at all. This is not a
		joke.",
	opt1	"You use your Precognition mutant power on opening the door.",
	pick1	page_56,
	opt2	"You just go through the door anyway.",
	pick2	page_33,
	opt3	"You decide it's too dangerous and walk away.",
	pick3	page_22;

Node	page_31 "GDH 7-Beta"
with	text   "Like any good troubleshooter you make the least expensive
		decision and threaten him for information.  With lightning
		like reflexes you whip out your laser and stick it up his
		nose.  ~Talk, you traitorous Christmas celebrator, or who
		nose what will happen to you, yuk yuk,~ you pun menacingly,
		and then you notice something is very wrong.  He doesn't
		have a nose.  As a matter of fact he's made of one eighth
		inch cardboard and your laser is sticking through the other
		side of his head.  ~Are you going to pay?~ says his mouth
		speaker, ~or are you going to pssfft go away stupid?~",
	opt1	"You pay the 30 credits.",
	pick1	page_30,
	opt2	"You pssfft go away stupid.",
	pick2	page_22;

Node	page_32 "Mission Briefing"
with	text   "Finally it's your big chance to prove that you're as good a
		troubleshooter as your previous clone.  You walk briskly to
		mission briefing and pick up your previous clone's personal
		effects and notepad.  After reviewing the notes you know
		what has to be done.  You catch the purple line to Goods
		Distribution Hall 7-beta and begin to search for the blast
		door.",
	next	page_22;

Node	page_33 "In The Barrel"
with	text   "You release the megabolts on the blast door, then strain
		against it with your awesome strength.  Slowly the door
		creaks open.  You bravely leap through the opening and
		smack your head into the barrel of a 300 mm 'ultra shock'
		class plasma cannon.  It's dark in the barrel now, but just
		before your head got stuck you can remember seeing a group
		of technicians anxiously watch you leap into the room.",
	run [;
		blast_door = 1;
	],
	next	[;
		if (ultra_violet == 1) return page_35;
		return page_36;
	];

Node	page_34 "GDH 7-Beta"
with	text   "You have found a sealed envelope on the body.  You open it
		and read:^^~WARNING: Ultraviolet Clearance ONLY.  DO NOT
		READ. Memo from Chico-U-MRX4 to Harpo-U-MRX5. The planned
		takeover of the Troubleshooter Training Course goes well,
		Comrade. Once we have trained the unwitting bourgeois
		troubleshooters to work as communist dupes, the overthrow
		of Alpha Complex will be unstoppable.  My survey of the
		complex has convinced me that no one suspects a thing; soon
		it will be too late for them to oppose the revolution.  The
		only thing that could possibly impede the people's
		revolution would be someone alerting The Computer to our
		plans (for instance, some enterprising Troubleshooter could
		tell The Computer that the communists have liberated the
		Troubleshooter Training Course and plan to use it as a
		jumping off point from which to undermine the stability of
		all Alpha Complex), but as we both know, the capitalistic
		Troubleshooters would never serve the interests of the
		proletariat above their own bourgeois desires. P.S. I'm
		doing some Christmas shopping later today.  Would you like
		me to pick you up something?~^^When you put down the memo
		you are overcome by that strange deja-vu again. You see
		yourself talking privately with The Computer.  You are
		telling it all about the communists' plan, and then the
		scene shifts and you see yourself showered with awards for
		foiling the insidious communist plot to take over the
		complex.",
	run [;
		read_letter = 1;
	],
	opt1	"You rush off to the nearest computer terminal to expose
		 the commies.",
	pick1	page_46,
	opt2	"You wander off to look for more evidence.",
	pick2	page_22;

Node	page_35 "In The Barrel"
with	text  "~Oh master,~ you hear through the gun barrel, ~where have
		you been? It is time for the great Christmas gifting
		ceremony.  You had better hurry and get the costume on or
		the trainee may begin to suspect.~ For the second time
		today you are forced to wear attire not of your own
		choosing.  They zip the suit to your chin just as you hear
		gunfire erupt behind you. ~Oh no! Who left the door open?
		The commies will get in.  Quick, fire the laser cannon or
		we're all doomed.~^^~Too late you capitalist swine, the
		people's revolutionary strike force claims this cannon for
		the proletariat's valiant struggle against oppression. Take
		that, you running dog imperialist lackey.~ ZAP,
		KAPOW.~^^Just when you think that things couldn't get worse,
		~Aha, look what we have here, the Master Retailer himself
		with his head caught in his own cannon.  His death will
		serve as a symbol of freedom for all Alpha Complex. Fire
		the cannon.~",
	run [;
		NewClone();
	],
	next	page_32;

Node	page_36 "In The Barrel"
with	text   "~Congratulations, troubleshooter, you have successfully
		found the lair of the Master Retailer and completed the
		Troubleshooter Training Course test mission,~ a muffled
		voice tells you through the barrel.  ~Once we dislodge your
		head from the barrel of the 'Ultra Shock' plasma cannon you
		can begin with the training seminars, the first of which
		will concern the 100% accurate identification and
		elimination of unregistered mutants.  If you have any
		objections please voice them now.~",
	opt1	"You appreciate his courtesy and voice an objection.",
	pick1 [;
		NewClone();
		return page_32;
	],
	opt2	"After your head is removed from the cannon, you register
		 as a mutant.",
	pick2	page_23,
	opt3	"After your head is removed from the cannon, you go to the
		 unregistered mutant identification and elimination
		 seminar.",
	pick3	page_37;

Node	page_37 "Lecture Hall"
with	text   "~Come with me please, Troubleshooter,~ says the Green
		clearance technician after he has dislodged your head from
		the cannon.  ~You have been participating in the
		Troubleshooter Training Course since you got off the tube
		car in GDH7-beta,~ he explains as he leads you down a
		corridor.  ~The entire Christmas assignment was a test
		mission to assess your current level of training.  You
		didn't do so well.  We're going to start at the beginning
		with the other student.  Ah, here we are, the mutant
		identification and elimination lecture.~  He shows you into
		a vast lecture hall filled with empty seats. There is only
		one other student here, a Troubleshooter near the front row
		playing with his Action Troubleshooter(tm) figure.  ~Find a
		seat and I will begin,~ says the instructor.",
	next	page_38;

Node	page_38 "Lecture Hall"
with	text [; print
		"I am Plato-B-PHI-", plato_clone, ", head of mutant
		propaganda here at the training course. If you have any
		questions about mutants please come to me. Today I will be
		talking about mutant detection. Detecting mutants is very
		easy.  One simply watches for certain tell tale signs, such
		as the green scaly skin, the third arm growing from the
		forehead, or other similar disfigurements so common with
		their kind.  There are, however, a few rare specimens that
		show no outward sign of their treason.  This has been a
		significant problem, so our researchers have been working
		on a solution.  I would like a volunteer to test this
		device,~ he says, holding up a ray gun looking thing.  ~It
		is a mutant detection ray. This little button detects for
		mutants, and this big button stuns them once they are
		discovered. Who would like to volunteer for a test?~ The
		Troubleshooter down the front squirms deeper into his
		chair.";
	],
	opt1	"You volunteer for the test.",
	pick1	page_39,
	opt2	"You duck behind a chair and hope the instructor doesn't
		 notice you.",
	pick2	page_40;

Node	page_39 "Lecture Hall"
with	text   "You bravely volunteer to test the mutant detection gun.
		You stand up and walk down the steps to the podium, passing
		a very relieved Troubleshooter along the way.  When you
		reach the podium Plato-B-PHI hands you the mutant detection
		gun and says, ~Here, aim the gun at that Troubleshooter and
		push the small button. If you see a purple light, stun
		him.~  Grasping the opportunity to prove your worth to The
		Computer, you fire the mutant detection ray at the
		Troubleshooter. A brilliant purple nimbus instantly
		surrounds his body.  You slip your finger to the large stun
		button and he falls writhing to the floor. ~Good shot,~
		says the instructor as you hand him the mutant detection
		gun, ~I'll see that you get a commendation for this.  It
		seems you have the hang of mutant detection and
		elimination.  You can go on to the secret society
		infiltration class.  I'll see that the little mutie gets
		packaged for tomorrow's mutant dissection class.~",
	next	page_41;

Node	page_40 "Lecture Hall"
with	text   "You breathe a sigh of relief as Plato-B-PHI picks on the
		other Troubleshooter. ~You down here in the front,~ says
		the instructor pointing at the other Troubleshooter,
		~you'll make a good volunteer. Please step forward.~ The
		Troubleshooter looks around with a `who me?' expression on
		his face, but since he is the only one visible in the
		audience he figures his number is up. He walks down to the
		podium clutching his Action Troubleshooter(tm) doll before
		him like a weapon.  ~Here,~ says Plato-B-PHI, ~take the
		mutant detection ray and point it at the audience.  If
		there are any mutants out there we'll know soon enough.~
		Suddenly your skin prickles with static electricity as a
		bright purple nimbus surrounds your body.  ~Ha Ha, got
		one,~ says the instructor. ~Stun him before he gets
		away.~",
	run [;
		while (1) {
			if (DiceRoll(1, 100) <= 30) {
				print "^^His shot hits you. You feel numb
				       all over.";
				self.goto = page_49;
				return;
			} else {
				print "^^His shot just missed.";
			}

			if (DiceRoll(1, 100) <= 40) {
				print "^^You just blew his head off.  His
				       lifeless hand drops the mutant
				       detector ray.";
				return;
			} else {
				print "^^You burnt a hole in the podium.
				       He sights the mutant detector ray
				       on you.";
			}
		}
	],
	goto	page_50,
	next	[; return self.goto; ];

Node	page_41 "Hallway"
with	text   "You stumble down the hallway of the Troubleshooter Training
		Course looking for your next class.  Up ahead you see one
		of the instructors waving to you.  When you get there he
		shakes your hand and says, ~I am Jung-I-PSY.  Welcome to
		the secret society infiltration seminar.  I hope you...~
		You don't catch the rest of his greeting because you're
		paying too much attention to his handshake; it is the
		strangest thing that has ever been done to your hand, sort
		of how it would feel if you put a neuro whip in a high
		energy palm massage unit. It doesn't take you long to learn
		what he is up to; you feel him briefly shake your hand with
		the secret Illuminati handshake.",
	opt1	"You respond with the proper Illuminati code phrase,
		 ~Ewige Blumenkraft~.",
	pick1	page_42,
	opt2	"You ignore this secret society contact.",
	pick2	page_43;

Node	page_42 "Hallway"
with	text   "~Aha, so you are a member of the elitist Illuminati secret
		society,~ he says loudly, ~that is most interesting.~  He
		turns to the large class already seated in the auditorium
		and says, ~You see, class, by simply using the correct hand
		shake you can identify the member of any secret society.
		Please keep your weapons trained on him while I call a
		guard.",
	opt1	"You run for it.",
	pick1	page_51,
	opt2	"You wait for the guard.",
	pick2	page_52;

Node	page_43 "Lecture Hall"
with	text   "You sit through a long lecture on how to recognise and
		infiltrate secret societies, with an emphasis on mimicking
		secret handshakes.  The basic theory, which you realise to
		be sound from your Iluminati training, is that with the
		proper handshake you can pass unnoticed in any secret
		society gathering. What's more, the proper handshake will
		open doors faster than an 'ultra shock' plasma cannon.  You
		are certain that with the information you learn here you
		will easily be promoted to the next level of your
		Illuminati secret society. The lecture continues for three
		hours, during which you have the opportunity to practice
		many different handshakes.  Afterwards everyone is directed
		to attend the graduation ceremony.  Before you must go you
		have a little time to talk to The Computer about, you know,
		certain topics.",
	opt1	"You go looking for a computer terminal.",
	pick1	page_44,
	opt2	"You go to the graduation ceremony immediately.",
	pick2	page_55;

Node	page_44 "Computer Terminal"
with	text   "You walk down to a semi-secluded part of the training
		course complex and activate a computer terminal.  ~AT YOUR
		SERVICE~ reads the computer screen.",
	opt1	"You register yourself as a mutant.",
	pick1	page_23,
	opt2	"You change your mind and go to the graduation ceremony.",
	pick2	page_55,
	opt3 [;
		if (read_letter == 0) rfalse;
		"You want to chat about the commies.";
	],
	pick3	[;
		if (read_letter == 0) rfalse;
		return page_46;
	];

Node	page_45 "Living Quarters"
with	text   "~Hrank Hrank,~ snorts the alarm in your living quarters.
		Something is up. You look at the monitor above the bathroom
		mirror and see the message you have been waiting for all
		these years.  ~ATTENTION TROUBLESHOOTER, YOU ARE BEING
		ACTIVATED. PLEASE REPORT IMMEDIATELY TO MISSION ASSIGNMENT
		ROOM A17/GAMMA/LB22. THANK YOU. THE COMPUTER IS YOUR
		FRIEND.~  When you arrive at mission assignment room
		A17-gamma/LB22 you are given your previous clone's
		remaining possessions and notebook.  You puzzle through
		your predecessor's cryptic notes, managing to decipher
		enough to lead you to the tube station and the tube car to
		GDH 7-beta.",
	next [;
		if (ultra_violet == 0) return page_10;
		return page_10a;
	];

Node	page_46 "Computer Terminal"
with	text   "~Why do you ask about the communists, Troubleshooter?  It
		is not in the interest of your continued survival to be
		asking about such topics,~ says The Computer.",
	opt1	"You insist on talking about the communists.",
	pick1	page_53,
	opt2	"You change the subject.",
	pick2	page_54;

Node	page_47 "Computer Terminal"
with	text   "The Computer orders the entire Vulture squadron to
		terminate the Troubleshooter Training Course. Unfortunately
		you too are terminated for possessing classified
		information.^^Don't act so innocent, we both know that you
		are an Illuminatus which is in itself an act of
		treason.^^Don't look to me for sympathy.",
	run [;
		deadflag = 1;
	];

Node	page_48 "Tubecar"
with	text   "The tubecar shoots forward as you enter, slamming you back
		into a pile of garbage.  The front end rotates upward and
		you, the garbage and the garbage disposal car shoot
		straight up out of Alpha Complex. One of the last things
		you see is a small blue sphere slowly dwindling behind you.
		After you fail to report in, you will be assumed dead.",
	run [;
		NewClone();
	],
	next	page_45;

Node	page_49 "Lecture Hall"
with	text   "The instructor drags your inert body into a specimen
		detainment cage. ~He'll make a good subject for tomorrow's
		mutant dissection class,~ you hear.",
	run [;
		NewClone();
	],
	next	page_32;

Node	page_50 "Lecture Hall"
with	text   "You put down the other Troubleshooter, and then wisely
		decide to drill a few holes in the instructor as well; the
		only good witness is a dead witness. You continue with the
		training course.",
	run [;
		plato_clone++;
	],
	next	page_41;

Node	page_51 "Hallway"
with	text   "You run for it, but you don't run far. Three hundred
		strange and exotic weapons turn you into a freeze dried
		cloud of soot.",
	run [;
		NewClone();
	],
	next	page_32;

Node	page_52 "Hallway"
with	text   "You wisely wait until the instructor returns with a Blue
		Internal Security guard.  The guard leads you to an
		Internal Security self incrimination station.",
	next	page_2;

Node	page_53 "Computer Terminal"
with	text   "You tell The Computer about:",
	opt1	"The commies who have infiltrated the Troubleshooter
		 Training Course and the^      impending People's
		 Revolution.",
	pick1	page_47,
	opt2	"Something less dangerous.",
	pick2	page_54;

Node	page_54 "Computer Terminal"
with	text   "~Do not try to change the subject, Troubleshooter,~ says
		The Computer. ~It is a serious crime to ask about the
		communists.  You will be terminated immediately.  Thank you
		for your inquiry.  The Computer is your friend.~ Steel bars
		drop to your left and right, trapping you here in the
		hallway. A spotlight beams from the computer console to
		brilliantly illuminate you while the speaker above your
		head rapidly repeats ~Traitor, Traitor, Traitor.~ It
		doesn't take long for a few guards to notice your
		predicament and come to finish you off.",
	run [;
		NewClone();
	],
	next [;
		if (blast_door == 0) return page_45;
		return page_32;
	];

Node	page_55 "Auditorium"
with	text [; print
		"You and 300 other excited graduates are marched from the
		lecture hall and into a large auditorium for the graduation
		exercise.  The auditorium is extravagantly decorated in the
		colours of the graduating class.  Great red and green
		plasti-paper ribbons drape from the walls, while a huge
		sign reading ~Congratulations class of GDH7-beta-203.44/A~
		hangs from the raised stage down front.  Once everyone
		finds a seat the ceremony begins.  Jung-I-PSY is the first
		to speak, ~Congratulations students, you have successfully
		survived the Troubleshooter Training Course.  It always
		brings me great pride to address the graduating class, for
		I know, as I am sure you do too, that you are now qualified
		for the most perilous missions The Computer may select for
		you. The thanks is not owed to us of the teaching staff,
		but to all of you, who have persevered and graduated.  Good
		luck and die trying.~  Then the instructor begins reading
		the names of the students who one by one walk to the front
		of the auditorium and receive their diplomas.  Soon it is
		your turn, ~Philo-R-DMD, graduating a master of mutant
		identification and secret society infiltration.~ You walk
		up and receive your diploma from Plato-B-PHI-", plato_clone,
		", then return to your seat.  There is another speech after
		the diplomas are handed out, but it is cut short by by
		rapid fire laser bursts from the high spirited graduating
		class.  You are free to return to your barracks to wait,
		trained and fully qualified, for your next mission.  You
		also get that cherished promotion from the Illuminati
		secret society.  In a week you receive a detailed Training
		Course bill totalling 1,523 credits.";
	],
	run [;
		deadflag = 2;
	];

Node	page_56 "Outside Blast Door"
with	text   "That familiar strange feeling of deja-vu envelops you
		again.  It is hard to say, but whatever is on the other
		side of the door does not seem to be intended for you.",
	opt1	"You open the door and step through.",
	pick1	page_33,
	opt2	"You go looking for more information.",
	pick2	page_22;

Node	page_57 "Briefing Cell"
with	text   "In the centre of the room is a table and a single chair.
		There is an Orange folder on the table top, but you can't
		make out the lettering on it.",
	opt1	"You sit down and read the folder.",
	pick1	page_11,
	opt2	"You leave the room.",
	pick2	page_12;

! --------------------------------- The End -----------------------------------
