home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / GAMES / paranoia.t.Z / paranoia.t / paranoia.c < prev    next >
Text File  |  1990-06-30  |  48KB  |  1,044 lines

  1. /* This is a solo paranoia game taken from the Jan/Feb issue (No 77) of
  2.    "SpaceGamer/FantasyGamer" magazine.
  3.  
  4.    Article by Sam Shirley.
  5.  
  6.    Implemented in C on Vax 11/780 under UNIX by Tim Lister
  7.  
  8.    This is a public domain adventure and may not be sold for profit */
  9.  
  10. #define MOXIE    13
  11. #define AGILITY    15
  12. #define MAXKILL  7    /* The maximum number of UV's you can kill */
  13. #include <stdio.h>
  14.  
  15. int clone=1;
  16. int page=1;
  17. int computer_request=0;
  18. int ultra_violet=0;
  19. int action_doll=0;
  20. int hit_points=10;
  21. int read_letter=0;
  22. int plato_clone=3;
  23. int blast_door=0;
  24. int killer_count=0;
  25.  
  26. char get_char()
  27. {
  28.     char c;
  29.     c=getchar();
  30.     if (c!='\n')    while(getchar()!='\n');
  31.     return c;
  32. }
  33.  
  34. more()
  35. {
  36.     printf("---------- More ----------");
  37. #ifdef DEBUG
  38.     printf("(page %d)",page);
  39. #endif
  40.     if (get_char()=='p')
  41.     {
  42.         character();
  43.         printf("---------- More ----------");
  44.         (void)get_char();
  45.     };
  46. }
  47.  
  48. new_clone(resume)
  49. int resume;
  50. {
  51.     printf("\nClone %d just died.\n",clone);
  52.     if (++clone>6)
  53.     {
  54.         printf("\n*** You Lose ***\n\nAll your clones are dead.  Your name has been stricken from the records.\n\n            THE END\n");
  55.         return 0;
  56.     }
  57.     else
  58.     {
  59.         printf("Clone %d now activated.\n",clone);
  60.         ultra_violet=0;
  61.         action_doll=0;
  62.         hit_points=10;
  63.         killer_count=0;
  64.         return resume;
  65.     }
  66. }
  67.  
  68. int rand()
  69. {
  70.     int nnn;
  71.     printf("<enter random number> : ");
  72.     scanf("%d",&nnn);
  73.     return (nnn);
  74. }
  75. dice_roll(number,faces)
  76. int number, faces;
  77. {
  78.     int i,total=0;
  79.     for(i=number;i>0;i--)    total+= rand()%faces+1;
  80.     return total;
  81. }
  82.  
  83. instructions()
  84. {
  85.     printf("\n\n\n\nWelcome to Paranoia!\n\n");
  86.     printf("HOW TO PLAY:\n\n");
  87.     printf("  Just press <RETURN> until you are asked to make a choice.\n");
  88.     printf("  Select 'a' or 'b' or whatever for your choice, then press <RETURN>.\n");
  89.     printf("  You may select 'p' at any time to get a display of your statistics.\n");
  90.     printf("  Always choose the least dangerous option.  Continue doing this until you win.\n");
  91.     printf("  At times you will use a skill or engage in combat and and will be informed of\n");
  92.     printf("  the outcome.  These sections will be self explanatory.\n\n");
  93.     printf("HOW TO DIE:\n\n");
  94.     printf("  As Philo-R-DMD you will die at times during the adventure.\n");
  95.     printf("  When this happens you will be given an new clone at a particular location.\n");
  96.     printf("  The new Philo-R will usually have to retrace some of the old Philo-R\'s path;\n");
  97.     printf("  hopefully he won\'t make the same mistake as his predecessor.\n\n");
  98.     printf("HOW TO WIN:\n\n");
  99.     printf("  Simply complete the mission before you expend all six clones.\n");
  100.     printf("  If you make it, congratulations.\n");
  101.     printf("  If not, you can try again later.\n");
  102. }
  103.  
  104. character()
  105. {
  106.     printf("===============================================================================\n");
  107.     printf("The Character : Philo-R-DMD %d\n", clone);
  108.     printf("Primary Attributes                      Secondary Attributes\n");
  109.     printf("===============================================================================\n");
  110.     printf("Strength ..................... 13       Carrying Capacity ................. 30\n");
  111.     printf("Endurance .................... 13       Damage Bonus ....................... 0\n");
  112.     printf("Agility ...................... 15       Macho Bonus ....................... -1\n");
  113.     printf("Manual Dexterity ............. 15       Melee Bonus ...................... +5%%\n");
  114.     printf("Moxie ........................ 13       Aimed Weapon Bonus .............. +10%%\n");
  115.     printf("Chutzpah ...................... 8       Comprehension Bonus .............. +4%%\n");
  116.     printf("Mechanical Aptitude .......... 14       Believability Bonus .............. +5%%\n");
  117.     printf("Power Index .................. 10       Repair Bonus ..................... +5%%\n");
  118.     printf("===============================================================================\n");
  119.     printf("Credits: 160        Secret Society: Illuminati        Secret Society Rank: 1\n");
  120.     printf("Service Group: Power Services               Mutant Power: Precognition\n");
  121.     printf("Weapon: laser pistol; to hit, 40%%; type, L; Range, 50m; Reload, 6r; Malfnt, 00\n");
  122.     printf("Skills: Basics 1(20%%), Aimed Weapon Combat 2(35%%), Laser 3(40%%),\n        Personal Development 1(20%%), Communications 2(29%%), Intimidation 3(34%%)\n");
  123.     printf("Equipment: Red Reflec Armour, Laser Pistol, Laser Barrel (red),\n");
  124.     printf("           Notebook & Stylus, Knife, Com Unit 1, Jump suit,\n");
  125.     printf("           Secret Illuminati Eye-In-The-Pyramid(tm) Decoder ring,\n");
  126.     printf("           Utility Belt & Pouches\n");
  127.     printf("===============================================================================\n");
  128. }
  129.  
  130. choose(a,aptr,b,bptr)
  131. int a,b;
  132. char *aptr, *bptr;
  133. {
  134.     printf("\nSelect \'a\' or \'b\' :\n");
  135.     printf(" a - %s.\n b - %s.\n", aptr, bptr);
  136.     if (get_char()=='a')    return a;
  137.     else             return b;
  138. }
  139.  
  140. page1()
  141. {
  142.     printf("  You wake up face down on the red and pink checked E-Z-Kleen linoleum floor.\n");
  143.     printf("  You recognise the pattern, it\'s the type preferred in the internal security\nbriefing cells.  When you finally look around you, you see that you are alone\n");
  144.     printf("in a large mission briefing room.\n");
  145.     return 57;
  146. }
  147.  
  148. page2()
  149. {
  150.     printf("\"Greetings,\" says the kindly Internal Security self incrimination expert who\n");
  151.     printf("meets you at the door, \"How are we doing today?\"  He offers you a doughnut\n");
  152.     printf("and coffee and asks what brings you here.  This doesn\'t seem so bad, so you\n");
  153.     printf("tell him that you have come to confess some possible security lapses.  He\n");
  154.     printf("smiles knowingly, deftly catching your coffee as you slump to the floor.\n");
  155.     printf("\"Nothing to be alarmed about; it\'s just the truth serum,\" he says,\n");
  156.     printf("dragging you back into a discussion room.\n");
  157.     printf("The next five hours are a dim haze, but you can recall snatches of conversation\n");
  158.     printf("about your secret society, your mutant power, and your somewhat paranoid\n");
  159.     printf("distrust of The Computer.  This should explain why you are hogtied and moving\n");
  160.     printf("slowly down the conveyer belt towards the meat processing unit in Food\n");
  161.     printf("Services.\n");
  162.     if (computer_request==1) return new_clone(45);
  163.     else              return new_clone(32);
  164. }
  165.  
  166. page3()
  167. {
  168.     printf("You walk to the nearest Computer terminal and request more information about\n");
  169.     printf("Christmas.  The Computer says, \"That is an A-1 ULTRAVIOLET ONLY IMMEDIATE\n");
  170.     printf("TERMINATION classified topic.  What is your clearance please, Troubleshooter?\"\n");
  171.     return choose(4,"You give your correct clearance",5,"You lie and claim Ultraviolet clearance");
  172. }
  173.  
  174. page4()
  175. {
  176.     printf("\"That is classified information, Troubleshooter, thank you for your inquiry.\n");
  177.     printf(" Please report to an Internal Security self incrimination station as soon as\n");
  178.     printf(" possible.\"\n");
  179.     return 9;
  180. }
  181.  
  182. page5()
  183. {
  184.     printf("The computer says, \"Troubleshooter, you are not wearing the correct colour\n");
  185.     printf("uniform.  You must put on an Ultraviolet uniform immediately.  I have seen to\n");
  186.     printf("your needs and ordered one already; it will be here shortly.  Please wait with\n");
  187.     printf("your back to the wall until it arrives.\"  In less than a minute an infrared\n");
  188.     printf("arrives carrying a white bundle.  He asks you to sign for it, then hands it to\n");
  189.     printf("you and stands back, well outside of a fragmentation grenade\'s blast radius.\n");
  190.     return choose(6, "You open the package and put on the uniform", 7, "You finally come to your senses and run for it");
  191. }
  192.  
  193. page6()
  194. {
  195.     printf("The uniform definitely makes you look snappy and pert.  It really looks\n");
  196.     printf("impressive, and even has the new lopsided lapel fashion that you admire so\n");
  197.     printf("much.  What\'s more, citizens of all ranks come to obsequious attention as you\n");
  198.     printf("walk past.  This isn\'t so bad being an Ultraviolet.  You could probably come\n");
  199.     printf("to like it, given time.\n");
  200.     printf("The beeping computer terminal interrupts your musings.\n");
  201.     ultra_violet=1;
  202.     return 8;
  203. }
  204.  
  205. page7()
  206. {
  207.     printf("The corridor lights dim and are replaced by red battle lamps as the Security\n");
  208.     printf("Breach alarms howl all around you.  You run headlong down the corridor and\n");
  209.     printf("desperately windmill around a corner, only to collide with a squad of 12 Blue\n");
  210.     printf("clearance Vulture squadron soldiers.  \"Stop, Slime Face,\" shouts the\n");
  211.     printf("commander, \"or there won\'t be enough of you left for a tissue sample.\"\n");
  212.     printf("\"All right, soldiers, stuff the greasy traitor into the uniform,\" he orders,\n");
  213.     printf("waving the business end of his blue laser scant inches from your nose.\n");
  214.     printf("With his other hand he shakes open a white bundle to reveal a pristine new\n");
  215.     printf("Ultraviolet citizen's uniform.\n");
  216.     printf("One of the Vulture squadron Troubleshooters grabs you by the neck in the\n");
  217.     printf("exotic and very painful Vulture Clamp(tm) death grip (you saw a special about\n");
  218.     printf("it on the Teela O\'Malley show), while the rest tear off your clothes and\n");
  219.     printf("force you into the Ultraviolet uniform.  The moment you are dressed they step\n");
  220.     printf("clear and stand at attention.\n");
  221.     printf("\"Thank you for your cooperation, sir,\" says the steely eyed leader of the\n");
  222.     printf("Vulture Squad.  \"We will be going about our business now.\"  With perfect\n");
  223.     printf("timing the Vultures wheel smartly and goosestep down the corridor.\n");
  224.     printf("Special Note: don\'t make the mistake of assuming that your skills have\n");
  225.     printf("improved any because of the uniform; you\'re only a Red Troubleshooter\n");
  226.     printf("traitorously posing as an Ultraviolet, and don\'t you forget it!\n");
  227.     printf("Suddenly, a computer terminal comes to life beside you.\n");
  228.     ultra_violet=1;
  229.     return 8;
  230. }
  231.  
  232. page8()
  233. {
  234.     printf("\"Now, about your question, citizen.  Christmas was an old world marketing ploy\n");
  235.     printf("to induce lower clearance citizens to purchase vast quantities of goods, thus\n");
  236.     printf("accumulation a large amount of credit under the control of a single class of\n");
  237.     printf("citizen known as Retailers.  The strategy used is to imply that all good\n");
  238.     printf("citizens give gifts during Christmas, thus if one wishes to be a valuable\n");
  239.     printf("member of society one must also give gifts during Christmas.  More valuable\n");
  240.     printf("gifts make one a more valuable member, and thus did the Retailers come to\n");
  241.     printf("control a disproportionate amount of the currency.  In this way Christmas\n");
  242.     printf("eventually caused the collapse of the old world.  Understandably, Christmas\n");
  243.     printf("has been declared a treasonable practice in Alpha Complex.\n");
  244.     printf("Thank you for your inquiry.\"\n");
  245.     printf("You continue on your way to GDH7-beta.\n");
  246.     return 10;
  247. }
  248.  
  249. page9()
  250. {
  251.     int choice;
  252.     printf("As you walk toward the tubecar that will take you to GDH7-beta, you pass one\n");
  253.     printf("of the bright blue and orange Internal Security self incrimination stations.\n");
  254.     printf("Inside, you can see an IS agent cheerfully greet an infrared citizen and then\n");
  255.     printf("lead him at gunpoint into one of the rubber lined discussion rooms.\n");
  256.     choice=choose(2,"You decide to stop here and chat, as ordered by The Computer",10,"You just continue blithely on past");
  257.     if (choice==2) computer_request = 1;
  258.     else           computer_request = 0;
  259.     return choice;
  260. }
  261.  
  262. page10()
  263. {
  264.     int choice;
  265.     printf("You stroll briskly down the corridor, up a ladder, across an unrailed catwalk,\n");
  266.     printf("under a perilously swinging blast door in urgent need of repair, and into\n");
  267.     printf("tubecar grand central.  This is the bustling hub of Alpha Complex tubecar\n");
  268.     printf("transportation.  Before you spreads a spaghetti maze of magnalift tube tracks\n");
  269.     printf("and linear accelerators.  You bravely study the specially enhanced 3-D tube\n");
  270.     printf("route map; you wouldn\'t be the first Troubleshooter to take a fast tube ride\n");
  271.     printf("to nowhere.\n");
  272.     if (ultra_violet==0)
  273.     {
  274.         choice=choose(3,"You decide to ask The Computer about Christmas using a nearby terminal",10,"You think you have the route worked out, so you\'ll board a tube train");
  275.         if (choice==3) return choice;
  276.     };
  277.     printf("You nervously select a tubecar and step aboard.\n");
  278.     if (dice_roll(2,10)<MOXIE)
  279.     {
  280.         printf("You just caught a purple line tubecar.\n");
  281.         return 13;
  282.     }
  283.     else
  284.     {
  285.         printf("You just caught a brown line tubecar.\n");
  286.         return 48;
  287.     }
  288. }
  289.  
  290. page11()
  291. {
  292.     printf("The printing on the folder says \"Experimental Self Briefing.\"\n");
  293.     printf("You open it and begin to read the following:\n");
  294.     printf("Step 1: Compel the briefing subject to attend the briefing.\n");
  295.     printf("        Note: See Experimental Briefing Sub Form Indigo-WY-2,\n");
  296.     printf("        \'Experimental Self Briefing Subject Acquisition Through The Use Of\n");
  297.     printf("         Neurotoxin Room Foggers.\'\n");
  298.     printf("Step 2: Inform the briefing subject that the briefing has begun.\n");
  299.     printf("        ATTENTION: THE BRIEFING HAS BEGUN.\n");
  300.     printf("Step 3: Present the briefing material to the briefing subject.\n");
  301.     printf("        GREETINGS TROUBLESHOOTER.\n");
  302.     printf("        YOU HAVE BEEN SPECIALLY SELECTED TO SINGLEHANDEDLY\n");
  303.     printf("        WIPE OUT A DEN OF TRAITOROUS CHRISTMAS ACTIVITY.  YOUR MISSION IS TO\n");
  304.     printf("        GO TO GOODS DISTRIBUTION HALL 7-BETA AND ASSESS ANY CHRISTMAS ACTIVITY\n");
  305.     printf("        YOU FIND THERE.  YOU ARE TO INFILTRATE THESE CHRISTMAS CELEBRANTS,\n");
  306.     printf("        LOCATE THEIR RINGLEADER, AN UNKNOWN MASTER RETAILER, AND BRING HIM\n");
  307.     printf("        BACK FOR EXECUTION AND TRIAL.  THANK YOU.  THE COMPUTER IS YOUR FRIEND.\n");
  308.     printf("Step 4: Sign the briefing subject\'s briefing release form to indicate that\n");
  309.     printf("        the briefing subject has completed the briefing.\n");
  310.     printf("        ATTENTION: PLEASE SIGN YOUR BRIEFING RELEASE FORM.\n");
  311.     printf("Step 5: Terminate the briefing\n");
  312.     printf("        ATTENTION: THE BRIEFING IS TERMINATED.\n");
  313.     more();
  314.     printf("You walk to the door and hold your signed briefing release form up to the\n");
  315.     printf("plexiglass window.  A guard scrutinises it for a moment and then slides back\n");
  316.     printf("the megabolts holding the door shut.  You are now free to continue the\n");
  317.     printf("mission.\n");
  318.     return choose(3,"You wish to ask The Computer for more information about Christmas",10,"You have decided to go directly to Goods Distribution Hall 7-beta");
  319. }
  320.  
  321. page12()
  322. {
  323.     printf("You walk up to the door and push the button labelled \"push to exit.\"\n");
  324.     printf("Within seconds a surly looking guard shoves his face into the small plexiglass\n");
  325.     printf("window.  You can see his mouth forming words but you can\'t hear any of them.\n");
  326.     printf("You just stare at him blankly  for a few moments until he points down to a\n");
  327.     printf("speaker on your side of the door.  When you put your ear to it you can barely\n");
  328.     printf("hear him say, \"Let\'s see your briefing release form, bud.  You aren\'t\n");
  329.     printf("getting out of here without it.\"\n");
  330.     return choose(11,"You sit down at the table and read the Orange packet",57,"You stare around the room some more");
  331. }
  332.  
  333. page13()
  334. {
  335.     printf("You step into the shiny plasteel tubecar, wondering why the shape has always\n");
  336.     printf("reminded you of bullets.  The car shoots forward the instant your feet touch\n");
  337.     printf("the slippery gray floor, pinning you immobile against the back wall as the\n");
  338.     printf("tubecar careens toward GDH7-beta.  Your only solace is the knowledge that it\n");
  339.     printf("could be worse, much worse.\n");
  340.     printf("Before too long the car comes to a stop.  You can see signs for GDH7-beta\n");
  341.     printf("through the window.  With a little practice you discover that you can crawl\n");
  342.     printf("to the door and pull open the latch.\n");
  343.     return 14;
  344. }
  345.  
  346. page14()
  347. {
  348.     printf("You manage to pull yourself out of the tubecar and look around.  Before you is\n");
  349.     printf("one of the most confusing things you have ever seen, a hallway that is\n");
  350.     printf("simultaneously both red and green clearance.  If this is the result of\n");
  351.     printf("Christmas then it\'s easy to see the evils inherent in its practice.\n");
  352.     printf("You are in the heart of a large goods distribution centre.  You can see all\n");
  353.     printf("about you evidence of traitorous secret society Christmas celebration; rubber\n");
  354.     printf("faced robots whiz back and forth selling toys to holiday shoppers, simul-plast\n");
  355.     printf("wreaths hang from every light fixture, while ahead in the shadows is a citizen\n");
  356.     printf("wearing a huge red synthetic flower.\n");
  357.     return 22;
  358. }
  359.  
  360. page15()
  361. {
  362.     printf("You are set upon by a runty robot with a queer looking face and two pointy\n");
  363.     printf("rubber ears poking from beneath a tattered cap.  \"Hey mister,\" it says,\n");
  364.     printf("\"you done all your last minute Christmas shopping?  I got some real neat junk\n");
  365.     printf("here.  You don\'t wanna miss the big day tommorrow, if you know what I mean.\"\n");
  366.     printf("The robot opens its bag to show you a pile of shoddy Troubleshooter dolls.  It\n");
  367.     printf("reaches in and pulls out one of them.  \"Look, these Action Troubleshooter(tm)\n");
  368.     printf("dolls are the neatest thing.  This one\'s got moveable arms and when you\n");
  369.     printf("squeeze him, his little rifle squirts realistic looking napalm.  It\'s only\n");
  370.     printf("50 credits.  Oh yeah, Merry Christmas.\"\n");
  371.     printf("\nSelect \'a\', \'b\' or \'c\' :\n");
  372.     printf(" a - You decide to buy the doll.\n");
  373.     printf(" b - You shoot the robot.\n");
  374.     printf(" c - You ignore the robot and keep searching the hall.\n");
  375.     switch(get_char())
  376.     {
  377.         case 'a' :    return 16;
  378.         case 'b' :    return 17;
  379.         case 'c' :
  380.         default  :    return 22;
  381.     }
  382. }
  383.  
  384. page16()
  385. {
  386.     printf("The doll is a good buy for fifty credits; it will make a fine Christmas present\n");
  387.     printf("for one of your friends.  After the sale the robot rolls away.  You can use\n");
  388.     printf("the doll later in combat.  It works just like a cone rifle firing napalm,\n");
  389.     printf("except that occasionally it will explode and blow the user to smithereens.\n");
  390.     printf("But don\'t let that stop you.\n");
  391.     action_doll=1;
  392.     return 22;
  393. }
  394.  
  395. page17()
  396. {
  397.     int i, robot_hp=15;
  398.     printf("You whip out your laser and shoot the robot, but not before it squeezes the\n");
  399.     printf("toy at you.  The squeeze toy has the same effect as a cone rifle firing napalm,\n");
  400.     printf("and the elfbot\'s armour has no effect against your laser.\n");
  401.     for(i=0;i<2;i++)
  402.     {
  403.         if(dice_roll(1,100)<=25)
  404.         {
  405.             printf("You have been hit!\n");
  406.             hit_points-= dice_roll(1,10);
  407.             if (hit_points<=0)    return new_clone(45);
  408.         }
  409.         else    printf("It missed you, but not by much!\n");
  410.         if(dice_roll(1,100)<=40)
  411.         {
  412.             printf("You zapped the little bastard!\n");
  413.             robot_hp-= dice_roll(2,10);
  414.             if (robot_hp<=0)
  415.             {
  416.                 printf("You wasted it! Good shooting!\n");
  417.                 printf("You will need more evidence, so you search GDH7-beta further\n");
  418.                 if (hit_points<10) printf("after the GDH medbot has patched you up.\n");
  419.                 hit_points=10;
  420.                 return 22;
  421.             }
  422.         }
  423.         else    printf("Damn! You missed!\n");
  424.     };
  425.     printf("It tried to fire again, but the toy exploded and demolished it.\n");
  426.     printf("You will need more evidence, so you search GDH7-beta further\n");
  427.     if (hit_points<10) printf("after the GDH medbot has patched you up.\n");
  428.     hit_points=10;
  429.     return 22;
  430. }
  431.  
  432. page18()
  433. {
  434.     printf("You walk to the centre of the hall, ogling like an infrared fresh from the\n");
  435.     printf("clone vats.  Towering before you is the most unearthly thing you have ever\n");
  436.     printf("seen, a green multi armed mutant horror hulking 15 feet above your head.\n");
  437.     printf("Its skeletal body is draped with hundreds of metallic strips (probably to\n");
  438.     printf("negate the effects of some insidious mutant power), and the entire hideous\n");
  439.     printf("creature is wrapped in a thousand blinking hazard lights.  It\'s times like\n");
  440.     printf("this when you wish you\'d had some training for this job.  Luckily the\n");
  441.     printf("creature doesn\'t take notice of you but stands unmoving, as though waiting for\n");
  442.     printf("a summons from its dark lord, the Master Retailer.\n");
  443.     printf("WHAM, suddenly you are struck from behind.\n");
  444.     if (dice_roll(2,10)<AGILITY)    return 19;
  445.     else                return 20;
  446. }
  447.  
  448. page19()
  449. {
  450.     printf("Quickly you regain your balance, whirl and fire your laser into the Ultraviolet\n");
  451.     printf("citizen behind you.  For a moment your heart leaps to your throat, then you\n");
  452.     printf("realise that he is indeed dead and you will be the only one filing a report on\n");
  453.     printf("this incident.  Besides, he was participating in this traitorous Christmas\n");
  454.     printf("shopping, as is evident from the rain of shoddy toys falling all around you.\n");
  455.     printf("Another valorous deed done in the service of The Computer!\n");
  456.     if (++killer_count>(MAXKILL-clone))    return 21;
  457.     if (read_letter==1)    return 22;
  458.     return choose(34,"You search the body, keeping an eye open for Internal Security",22,"You run away like the cowardly dog you are");
  459. }
  460.  
  461. page20()
  462. {
  463.     printf("Oh no! you can\'t keep your balance.  You\'re falling, falling head first into\n");
  464.     printf("the Christmas beast\'s gaping maw.  It\'s a valiant struggle; you think you are\n");
  465.     printf("gone when its poisonous needles dig into your flesh, but with a heroic effort\n");
  466.     printf("you jerk a string of lights free and jam the live wires into the creature\'s\n");
  467.     printf("spine.  The Christmas beast topples to the ground and begins to burn, filling\n");
  468.     printf("the area with a thick acrid smoke.  It takes only a moment to compose yourself,\n");
  469.     printf("and then you are ready to continue your search for the Master Retailer.\n");
  470.     return 22;
  471. }
  472.  
  473. page21()
  474. {
  475.     printf("You have been wasting the leading citizens of Alpha Complex at a prodigious\n");
  476.     printf("rate.  This has not gone unnoticed by the Internal Security squad at GDH7-beta.\n");
  477.     printf("Suddenly, a net of laser beams spear out of the gloomy corners of the hall,\n");
  478.     printf("chopping you into teeny, weeny bite size pieces.\n");
  479.     return new_clone(45);
  480. }
  481.  
  482. page22()
  483. {
  484.     printf("You are searching Goods Distribution Hall 7-beta.\n");
  485.     switch(dice_roll(1,4))
  486.     {
  487.         case 1:    return 18;
  488.         case 2: return 15;
  489.         case 3: return 18;
  490.         case 4: return 29;
  491.     }
  492. }
  493.  
  494. page23()
  495. {
  496.     printf("You go to the nearest computer terminal and declare yourself a mutant.\n");
  497.     printf("\"A mutant, he\'s a mutant,\" yells a previously unnoticed infrared who had\n");
  498.     printf("been looking over your shoulder.  You easily gun him down, but not before a\n");
  499.     printf("dozen more citizens take notice and aim their weapons at you.\n");
  500.     return choose(28,"You tell them that it was really only a bad joke",24,"You want to fight it out, one against twelve");
  501. }
  502.  
  503. page24()
  504. {
  505.     printf("Golly, I never expected someone to pick this.  I haven\'t even designed\n");
  506.     printf("the 12 citizens who are going to make a sponge out of you.  Tell you what,\n");
  507.     printf("I\'ll give you a second chance.\n");
  508.     return choose(28,"You change your mind and say it was only a bad joke",25,"You REALLY want to shoot it out");
  509. }
  510.  
  511. page25()
  512. {
  513.     printf("Boy, you really can\'t take a hint!\n");
  514.     printf("They\'re closing in.  Their trigger fingers are twitching, they\'re about to\n");
  515.     printf("shoot.  This is your last chance.\n");
  516.     return choose(28,"You tell them it was all just a bad joke",26,"You are going to shoot");
  517. }
  518.  
  519. page26()
  520. {
  521.     printf("You can read the cold, sober hatred in their eyes (They really didn\'t think\n");
  522.     printf("it was funny), as they tighten the circle around you.  One of them shoves a\n");
  523.     printf("blaster up your nose, but that doesn\'t hurt as much as the multi-gigawatt\n");
  524.     printf("carbonium tipped food drill in the small of your back.\n");
  525.     printf("You spend the remaining micro-seconds of your life wondering what you did wrong\n");
  526.     return new_clone(32);
  527. }
  528.  
  529. page27()
  530. {
  531.     /* doesn't exist.  Can't happen with computer version.
  532.        designed to catch dice cheats */
  533. }
  534.  
  535. page28()
  536. {
  537.     printf("They don\'t think it\'s funny.\n");
  538.     return 26;
  539. }
  540.  
  541. page29()
  542. {
  543.     printf("\"Psst, hey citizen, come here.  Pssfft,\" you hear.  When you peer around\n");
  544.     printf("you can see someone\'s dim outline in the shadows.  \"I got some information\n");
  545.     printf("on the Master Retailer.  It\'ll only cost you 30 psst credits.\"\n");
  546.     printf("\nSelect \'a\', \'b\' or \'c\' :\n");
  547.     printf(" a - You pay the 30 credits for the info.\n");
  548.     printf(" b - You would rather threaten him for the information.\n");
  549.     printf(" c - You ignore him and walk away.\n");
  550.     switch(get_char())
  551.     {
  552.         case 'a' : return 30;
  553.         case 'b' : return 31;
  554.         case 'c' :
  555.         default  : return 22;
  556.     }
  557. }
  558.  
  559. page30()
  560. {
  561.     printf("You step into the shadows and offer the man a thirty credit bill.  \"Just drop\n");
  562.     printf("it on the floor,\" he says.  \"So you\'re looking for the Master Retailer, pssfft?\n");
  563.     printf("I\'ve seen him, he\'s a fat man in a fuzzy red and white jump suit.  They say\n");
  564.     printf("he\'s a high programmer with no respect for proper security.  If you want to\n");
  565.     printf("find him then pssfft step behind me and go through the door.\"\n");
  566.     printf("Behind the man is a reinforced plasteel blast door.  The centre of it has been\n");
  567.     printf("buckled toward you in a manner you only saw once before when you were field\n");
  568.     printf("testing the rocket assist plasma slingshot (you found it easily portable but\n");
  569.     printf("prone to misfire).  Luckily it isn\'t buckled too far for you to make out the\n");
  570.     printf("warning sign.  WARNING!! Don\'t open this door or the same thing will happen to\n");
  571.     printf("you.  Opening this door is a capital offense.  Do not do it.  Not at all. This\n");
  572.     printf("is not a joke.\n");
  573.     printf("\nSelect \'a\', \'b\' or \'c\' :\n");
  574.     printf(" a - You use your Precognition mutant power on opening the door.\n");
  575.     printf(" b - You just go through the door anyway.\n");
  576.     printf(" c - You decide it\'s too dangerous and walk away.\n");
  577.     switch(get_char())
  578.     {
  579.         case 'a' : return 56;
  580.         case 'b' : return 33;
  581.         case 'c' :
  582.         default  : return 22;
  583.     }
  584. }
  585.  
  586. page31()
  587. {
  588.     printf("Like any good troubleshooter you make the least expensive decision and threaten\n");
  589.     printf("him for information.  With lightning like reflexes you whip out your laser and\n");
  590.     printf("stick it up his nose.  \"Talk, you traitorous Christmas celebrator, or who nose\n");
  591.     printf("what will happen to you, yuk yuk,\" you pun menacingly, and then you notice\n");
  592.     printf("something is very wrong.  He doesn\'t have a nose.  As a matter of fact he\'s\n");
  593.     printf("made of one eighth inch cardboard and your laser is sticking through the other\n");
  594.     printf("side of his head.  \"Are you going to pay?\" says his mouth speaker,\n");
  595.     printf("\"or are you going to pssfft go away stupid?\"\n");
  596.     return choose(30,"You pay the 30 credits",22,"You pssfft go away stupid");
  597. }
  598.  
  599. page32()
  600. {
  601.     printf("Finally it\'s your big chance to prove that you\'re as good a troubleshooter\n");
  602.     printf("as your previous clone.  You walk briskly to mission briefing and pick up your\n");
  603.     printf("previous clone\'s personal effects and notepad.  After reviewing the notes you\n");
  604.     printf("know what has to be done.  You catch the purple line to Goods Distribution Hall\n");
  605.     printf("7-beta and begin to search for the blast door.\n");
  606.     return 22;
  607. }
  608.  
  609. page33()
  610. {
  611.     blast_door=1;
  612.     printf("You release the megabolts on the blast door, then strain against it with your\n");
  613.     printf("awesome strength.  Slowly the door creaks open.  You bravely leap through the\n");
  614.     printf("opening and smack your head into the barrel of a 300 mm \'ultra shock\' class\n");
  615.     printf("plasma cannon.  It\'s dark in the barrel now, but just before your head got\n");
  616.     printf("stuck you can remember seeing a group of technicians anxiously watch you leap\n");
  617.     printf("into the room.\n");
  618.     if (ultra_violet==1)    return 35;
  619.     else            return 36;
  620. }
  621.  
  622. page34()
  623. {
  624.     printf("You have found a sealed envelope on the body.  You open it and read:\n");
  625.     printf("\"WARNING: Ultraviolet Clearance ONLY.  DO NOT READ.\n");
  626.     printf("Memo from Chico-U-MRX4 to Harpo-U-MRX5.\n");
  627.     printf("The planned takeover of the Troubleshooter Training Course goes well, Comrade.\n");
  628.     printf("Once we have trained the unwitting bourgeois troubleshooters to work as\n");
  629.     printf("communist dupes, the overthrow of Alpha Complex will be unstoppable.  My survey\n");
  630.     printf("of the complex has convinced me that no one suspects a thing; soon it will be\n");
  631.     printf("too late for them to oppose the revolution.  The only thing that could possibly\n");
  632.     printf("impede the people\'s revolution would be someone alerting The Computer to our\n");
  633.     printf("plans (for instance, some enterprising Troubleshooter could tell The Computer\n");
  634.     printf("that the communists have liberated the Troubleshooter Training Course and plan\n");
  635.     printf("to use it as a jumping off point from which to undermine the stability of all\n");
  636.     printf("Alpha Complex), but as we both know, the capitalistic Troubleshooters would\n");
  637.     printf("never serve the interests of the proletariat above their own bourgeois desires.\n");
  638.     printf("P.S. I\'m doing some Christmas shopping later today.  Would you like me to pick\n");
  639.     printf("you up something?\"\n");
  640.     more();
  641.     printf("When you put down the memo you are overcome by that strange deja\'vu again.\n");
  642.     printf("You see yourself talking privately with The Computer.  You are telling it all\n");
  643.     printf("about the communists\' plan, and then the scene shifts and you see yourself\n");
  644.     printf("showered with awards for foiling the insidious communist plot to take over the\n");
  645.     printf("complex.\n");
  646.     read_letter=1;
  647.     return choose(46,"You rush off to the nearest computer terminal to expose the commies",22,"You wander off to look for more evidence");
  648. }
  649.  
  650. page35()
  651. {
  652.     printf("\"Oh master,\" you hear through the gun barrel, \"where have you been? It is\n");
  653.     printf("time for the great Christmas gifting ceremony.  You had better hurry and get\n");
  654.     printf("the costume on or the trainee may begin to suspect.\"  For the second time\n");
  655.     printf("today you are forced to wear attire not of your own choosing.  They zip the\n");
  656.     printf("suit to your chin just as you hear gunfire erupt behind you.\n");
  657.     printf("\"Oh no! Who left the door open?  The commies will get in.  Quick, fire the\n");
  658.     printf("laser cannon or we\'re all doomed.\"\n");
  659.     printf("\"Too late you capitalist swine, the people\'s revolutionary strike force claims\n");
  660.     printf("this cannon for the proletariat\'s valiant struggle against oppression.  Take\n");
  661.     printf("that, you running dog imperialist lackey.  ZAP, KAPOW\"\n");
  662.     printf("Just when you think that things couldn\'t get worse, \"Aha, look what we have\n");
  663.     printf("here, the Master Retailer himself with his head caught in his own cannon.  His\n");
  664.     printf("death will serve as a symbol of freedom for all Alpha Complex.\n");
  665.     printf("Fire the cannon.\"\n");
  666.     return new_clone(32);
  667. }
  668.  
  669. page36()
  670. {
  671.     printf("\"Congratulations, troubleshooter, you have successfully found the lair of the\n");
  672.     printf("Master Retailer and completed the Troubleshooter Training Course test mission,\"\n");
  673.     printf("a muffled voice tells you through the barrel.  \"Once we dislodge your head\n");
  674.     printf("from the barrel of the \'Ultra Shock\' plasma cannon you can begin with the\n");
  675.     printf("training seminars, the first of which will concern the 100%% accurate\n");
  676.     printf("identification and elimination of unregistered mutants.  If you have any\n");
  677.     printf("objections please voice them now.\"\n");
  678.     printf("\nSelect \'a\', \'b\' or \'c\' :\n");
  679.     printf(" a - You appreciate his courtesy and voice an objection.\n");
  680.     printf(" b - After your head is removed from the cannon, you register as a mutant.\n");
  681.     printf(" c - After your head is removed from the cannon, you go to the unregistered\n");
  682.     printf("     mutant identification and elimination seminar.\n");
  683.     switch(get_char())
  684.     {
  685.         case 'a' : return new_clone(32);
  686.         case 'b' : return 23;
  687.         case 'c' :
  688.         default  : return 37;
  689.     }
  690. }
  691.  
  692. page37()
  693. {
  694.     printf("\"Come with me please, Troubleshooter,\" says the Green clearance technician\n");
  695.     printf("after he has dislodged your head from the cannon.  \"You have been participating\n");
  696.     printf("in the Troubleshooter Training Course since you got off the tube car in\n");
  697.     printf("GDH7-beta,\" he explains as he leads you down a corridor.  \"The entire\n");
  698.     printf("Christmas assignment was a test mission to assess your current level of\n");
  699.     printf("training.  You didn\'t do so well.  We\'re going to start at the beginning with\n");
  700.     printf("the other student.  Ah, here we are, the mutant identification and elimination\n");
  701.     printf("lecture.\"  He shows you into a vast lecture hall filled with empty seats.\n");
  702.     printf("There is only one other student here, a Troubleshooter near the front row\n");
  703.     printf("playing with his Action Troubleshooter(tm) figure.  \"Find a seat and I will\n");
  704.     printf("begin,\" says the instructor.\n");
  705.     return 38;
  706. }
  707.  
  708. page38()
  709. {
  710.     printf("\"I am Plato-B-PHI%d, head of mutant propaganda here at the training course.\n",plato_clone);
  711.     printf("If you have any questions about mutants please come to me.  Today I will be\n");
  712.     printf("talking about mutant detection.  Detecting mutants is very easy.  One simply\n");
  713.     printf("watches for certain tell tale signs, such as the green scaly skin, the third\n");
  714.     printf("arm growing from the forehead, or other similar disfigurements so common with\n");
  715.     printf("their kind.  There are, however, a few rare specimens that show no outward sign\n");
  716.     printf("of their treason.  This has been a significant problem, so our researchers have\n");
  717.     printf("been working on a solution.  I would like a volunteer to test this device,\"\n");
  718.     printf("he says, holding up a ray gun looking thing.  \"It is a mutant detection ray.\n");
  719.     printf("This little button detects for mutants, and this big button stuns them once\n");
  720.     printf("they are discovered.  Who would like to volunteer for a test?\"\n");
  721.     printf("The Troubleshooter down the front squirms deeper into his chair.\n");
  722.     return choose(39,"You volunteer for the test",40,"You duck behind a chair and hope the instructor doesn\'t notice you");
  723. }
  724.  
  725. page39()
  726. {
  727.     printf("You bravely volunteer to test the mutant detection gun.  You stand up and walk\n");
  728.     printf("down the steps to the podium, passing a very relieved Troubleshooter along the\n");
  729.     printf("way.  When you reach the podium Plato-B-PHI hands you the mutant detection gun\n");
  730.     printf("and says, \"Here, aim the gun at that Troubleshooter and push the small button.\n");
  731.     printf("If you see a purple light, stun him.\"  Grasping the opportunity to prove your\n");
  732.     printf("worth to The Computer, you fire the mutant detection ray at the Troubleshooter.\n");
  733.     printf("A brilliant purple nimbus instantly surrounds his body.  You slip your finger\n");
  734.     printf("to the large stun button and he falls writhing to the floor.\n");
  735.     printf("\"Good shot,\" says the instructor as you hand him the mutant detection gun,\n");
  736.     printf("\"I\'ll see that you get a commendation for this.  It seems you have the hang\n");
  737.     printf("of mutant detection and elimination.  You can go on to the secret society\n");
  738.     printf("infiltration class.  I\'ll see that the little mutie gets packaged for\n");
  739.     printf("tomorrow\'s mutant dissection class.\"\n");
  740.     return 41;
  741. }
  742.  
  743. page40()
  744. {
  745.     printf("You breathe a sigh of relief as Plato-B-PHI picks on the other Troubleshooter.\n");
  746.     printf("\"You down here in the front,\" says the instructor pointing at the other\n");
  747.     printf("Troubleshooter, \"you\'ll make a good volunteer.  Please step forward.\"\n");
  748.     printf("The Troubleshooter looks around with a \`who me?\' expression on his face, but\n");
  749.     printf("since he is the only one visible in the audience he figures his number is up.\n");
  750.     printf("He walks down to the podium clutching his Action Troubleshooter(tm) doll before\n");
  751.     printf("him like a weapon.  \"Here,\" says Plato-B-PHI, \"take the mutant detection ray\n");
  752.     printf("and point it at the audience.  If there are any mutants out there we\'ll know\n");
  753.     printf("soon enough.\"  Suddenly your skin prickles with static electricity as a bright\n");
  754.     printf("purple nimbus surrounds your body.  \"Ha Ha, got one,\" says the instructor.\n");
  755.     printf("\"Stun him before he gets away.\"\n");
  756.     more();
  757.     while(1)
  758.     {
  759.         if (dice_roll(1,100)<=30)
  760.         {
  761.             printf("His shot hits you.  You feel numb all over.\n");
  762.             return 49;
  763.         }
  764.         else    printf("His shot just missed.\n");
  765.  
  766.         if (dice_roll(1,100)<=40)
  767.         {
  768.             printf("You just blew his head off.  His lifeless hand drops the mutant detector ray.\n");
  769.             return 50;
  770.         }
  771.         else    printf("You burnt a hole in the podium.  He sights the mutant detector ray on you.\n");
  772.     }
  773. }
  774.  
  775. page41()
  776. {
  777.     printf("You stumble down the hallway of the Troubleshooter Training Course looking for\n");
  778.     printf("your next class.  Up ahead you see one of the instructors waving to you.  When\n");
  779.     printf("you get there he shakes your hand and says, \"I am Jung-I-PSY.  Welcome to the\n");
  780.     printf("secret society infiltration seminar.  I hope you ...\"  You don\'t catch the\n");
  781.     printf("rest of his greeting because you\'re paying too much attention to his handshake;\n");
  782.     printf("it is the strangest thing that has ever been done to your hand, sort of how it\n");
  783.     printf("would feel if you put a neuro whip in a high energy palm massage unit.\n");
  784.     printf("It doesn\'t take you long to learn what he is up to; you feel him briefly shake\n");
  785.     printf("your hand with the secret Illuminati handshake.\n");
  786.     return choose(42,"You respond with the proper Illuminati code phrase, \"Ewige Blumenkraft\"",43,"You ignore this secret society contact");
  787. }
  788.  
  789. page42()
  790. {
  791.     printf("\"Aha, so you are a member of the elitist Illuminati secret society,\" he says\n");
  792.     printf("loudly, \"that is most interesting.\"  He turns to the large class already\n");
  793.     printf("seated in the auditorium and says, \"You see, class, by simply using the correct\n");
  794.     printf("hand shake you can identify the member of any secret society.  Please keep your\n");
  795.     printf("weapons trained on him while I call a guard.\n");
  796.     return choose(51,"You run for it",52,"You wait for the guard");
  797. }
  798.  
  799. page43()
  800. {
  801.     printf("You sit through a long lecture on how to recognise and infiltrate secret\n");
  802.     printf("societies, with an emphasis on mimicking secret handshakes.  The basic theory,\n");
  803.     printf("which you realise to be sound from your Iluminati training, is that with the\n");
  804.     printf("proper handshake you can pass unnoticed in any secret society gathering.\n");
  805.     printf("What\'s more, the proper handshake will open doors faster than an \'ultra shock\'\n");
  806.     printf("plasma cannon.  You are certain that with the information you learn here you\n");
  807.     printf("will easily be promoted to the next level of your Illuminati secret society.\n");
  808.     printf("The lecture continues for three hours, during which you have the opportunity\n");
  809.     printf("to practice many different handshakes.  Afterwards everyone is directed to\n");
  810.     printf("attend the graduation ceremony.  Before you must go you have a little time to\n");
  811.     printf("talk to The Computer about, you know, certain topics.\n");
  812.     return choose(44,"You go looking for a computer terminal",55,"You go to the graduation ceremony immediately");
  813. }
  814.  
  815. page44()
  816. {
  817.     printf("You walk down to a semi-secluded part of the training course complex and\n");
  818.     printf("activate a computer terminal.  \"AT YOUR SERVICE\" reads the computer screen.\n");
  819.     if (read_letter==0)    return choose(23,"You register yourself as a mutant",55,"You change your mind and go to the graduation ceremony");
  820.     printf("\nSelect \'a\', \'b\' or \'c\' :\n");
  821.     printf(" a - You register yourself as a mutant.\n");
  822.     printf(" b - You want to chat about the commies.\n");
  823.     printf(" c - You change your mind and go to the graduation ceremony.\n");
  824.     switch(get_char())
  825.     {
  826.         case 'a' : return 23;
  827.         case 'b' : return 46;
  828.         case 'c' :
  829.         default  : return 55;
  830.     }
  831. }
  832.  
  833. page45()
  834. {
  835.     printf("\"Hrank Hrank,\" snorts the alarm in your living quarters.  Something is up.\n");
  836.     printf("You look at the monitor above the bathroom mirror and see the message you have\n");
  837.     printf("been waiting for all these years.  \"ATTENTION TROUBLESHOOTER, YOU ARE BEING\n");
  838.     printf("ACTIVATED. PLEASE REPORT IMMEDIATELY TO MISSION ASSIGNMENT ROOM A17/GAMMA/LB22.\n");
  839.     printf("THANK YOU. THE COMPUTER IS YOUR FRIEND.\"  When you arrive at mission\n");
  840.     printf("assignment room A17-gamma/LB22 you are given your previous clone\'s\n");
  841.     printf("remaining possessions and notebook.  You puzzle through your predecessor\'s\n");
  842.     printf("cryptic notes, managing to decipher enough to lead you to the tube station and\n");
  843.     printf("the tube car to GDH7-beta.\n");
  844.     return 10;
  845. }
  846.  
  847. page46()
  848. {
  849.     printf("\"Why do you ask about the communists, Troubleshooter?  It is not in the\n");
  850.     printf("interest of your continued survival to be asking about such topics,\" says\n");
  851.     printf("The Computer.\n");
  852.     return choose(53,"You insist on talking about the communists",54,"You change the subject");
  853. }
  854.  
  855. page47()
  856. {
  857.     printf("The Computer orders the entire Vulture squadron to terminate the Troubleshooter\n");
  858.     printf("Training Course.  Unfortunately you too are terminated for possessing\n");
  859.     printf("classified information.\n\n");
  860.     printf("Don\'t act so innocent, we both know that you are an Illuminatus which is in\n");
  861.     printf("itself an act of treason.\n\n");
  862.     printf("Don\'t look to me for sympathy.\n\n");
  863.     printf("            THE END\n");
  864.     return 0;
  865. }
  866.  
  867. page48()
  868. {
  869.     printf("The tubecar shoots forward as you enter, slamming you back into a pile of\n");
  870.     printf("garbage.  The front end rotates upward and you, the garbage and the garbage\n");
  871.     printf("disposal car shoot straight up out of Alpha Complex.  One of the last things\n");
  872.     printf("you see is a small blue sphere slowly dwindling behind you.  After you fail to\n");
  873.     printf("report in, you will be assumed dead.\n");
  874.     return new_clone(45);
  875. }
  876.  
  877. page49()
  878. {
  879.     printf("The instructor drags your inert body into a specimen detainment cage.\n");
  880.     printf("\"He\'ll make a good subject for tomorrow\'s mutant dissection class,\" you hear.\n");
  881.     return new_clone(32);
  882. }
  883.  
  884. page50()
  885. {
  886.     printf("You put down the other Troubleshooter, and then wisely decide to drill a few\n");
  887.     printf("holes in the instructor as well; the only good witness is a dead witness.\n");
  888.     printf("You continue with the training course.\n");
  889.     plato_clone++;
  890.     return 41;
  891. }
  892.  
  893. page51()
  894. {
  895.     printf("You run for it, but you don\'t run far.  Three hundred strange and exotic\n");
  896.     printf("weapons turn you into a freeze dried cloud of soot.\n");
  897.     return new_clone(32);
  898. }
  899.  
  900. page52()
  901. {
  902.     printf("You wisely wait until the instructor returns with a Blue Internal Security\n");
  903.     printf("guard.  The guard leads you to an Internal Security self incrimination station.\n");
  904.     return 2;
  905. }
  906.  
  907. page53()
  908. {
  909.     printf("You tell The Computer about:\n");
  910.     return choose(47,"The commies who have infiltrated the Troubleshooter Training Course\n     and the impending People\'s Revolution",54,"Something less dangerous");
  911. }
  912.  
  913. page54()
  914. {
  915.     printf("\"Do not try to change the subject, Troubleshooter,\" says The Computer.\n");
  916.     printf("\"It is a serious crime to ask about the communists.  You will be terminated\n");
  917.     printf("immediately.  Thank you for your inquiry.  The Computer is your friend.\"\n");
  918.     printf("Steel bars drop to your left and right, trapping you here in the hallway.\n");
  919.     printf("A spotlight beams from the computer console to brilliantly iiluminate you while\n");
  920.     printf("the speaker above your head rapidly repeats \"Traitor, Traitor, Traitor.\"\n");
  921.     printf("It doesn\'t take long for a few guards to notice your predicament and come to\n");
  922.     printf("finish you off.\n");
  923.     if (blast_door==0) return new_clone(45);
  924.     else           return new_clone(32);
  925. }
  926.  
  927. page55()
  928. {
  929.     printf("You and 300 other excited graduates are marched  from the lecture hall and into\n");
  930.     printf("a large auditorium for the graduation exercise.  The auditorium is\n");
  931.     printf("extravagantly decorated in the colours of the graduating class.  Great red and\n");
  932.     printf("green plasti-paper ribbons drape from the walls, while a huge sign reading\n");
  933.     printf("\"Congratulations class of GDH7-beta-203.44/A\" hangs from the raised stage down\n");
  934.     printf("front.  Once everyone finds a seat the ceremony begins.  Jung-I-PSY is the\n");
  935.     printf("first to speak, \"Congratulations students, you have successfully survived the\n");
  936.     printf("Troubleshooter Training Course.  It always brings me great pride to address\n");
  937.     printf("the graduating class, for I know, as I am sure you do too, that you are now\n");
  938.     printf("qualified for the most perilous missions The Computer may select for you.  The\n");
  939.     printf("thanks is not owed to us of the teaching staff, but to all of you, who have\n");
  940.     printf("persevered and graduated.  Good luck and die trying.\"  Then the instructor\n");
  941.     printf("begins reading the names of the students who one by one walk to the front of\n");
  942.     printf("the auditorium and receive their diplomas.  Soon it is your turn,\n");
  943.     printf("\"Philo-R-DMD, graduating a master of mutant identification and secret society\n");
  944.     printf("infiltration.\"  You walk up and receive your diploma from Plato-B-PHI%d, then\n",plato_clone);
  945.     printf("return to your seat.  There is another speech after the diplomas are handed\n");
  946.     printf("out, but it is cut short by by rapid fire laser bursts from the high spirited\n");
  947.     printf("graduating class.  You are free to return to your barracks to wait, trained\n");
  948.     printf("and fully qualified, for your next mission.  You also get that cherished\n");
  949.     printf("promotion from the Illuminati secret society.  In a week you receive a\n");
  950.     printf("detailed Training Course bill totalling 1,523 credits.\n");
  951.     printf("            THE END\n");
  952.     return 0;
  953. }
  954.  
  955. page56()
  956. {
  957.     printf("That familiar strange feeling of deja\'vu envelops you again.  It is hard to\n");
  958.     printf("say, but whatever is on the other side of the door does not seem to be intended\n");
  959.     printf("for you.\n");
  960.     return choose(33,"You open the door and step through",22,"You go looking for more information");
  961. }
  962.  
  963. page57()
  964. {
  965.     printf("In the centre of the room is a table and a single chair.  There is an Orange\n");
  966.     printf("folder on the table top, but you can\'t make out the lettering on it.\n");
  967.     return choose(11,"You sit down and read the folder",12,"You leave the room");
  968. }
  969.  
  970. next_page(this_page)
  971. int this_page;
  972. {
  973.     printf("\n");
  974.     switch (this_page)
  975.     {
  976.     case  0 : return 0;
  977.     case  1 : return page1();
  978.     case  2 : return page2();
  979.     case  3 : return page3();
  980.     case  4 : return page4();
  981.     case  5 : return page5();
  982.     case  6 : return page6();
  983.     case  7 : return page7();
  984.     case  8 : return page8();
  985.     case  9 : return page9();
  986.     case 10 : return page10();
  987.     case 11 : return page11();
  988.     case 12 : return page12();
  989.     case 13 : return page13();
  990.     case 14 : return page14();
  991.     case 15 : return page15();
  992.     case 16 : return page16();
  993.     case 17 : return page17();
  994.     case 18 : return page18();
  995.     case 19 : return page19();
  996.     case 20 : return page20();
  997.     case 21 : return page21();
  998.     case 22 : return page22();
  999.     case 23 : return page23();
  1000.     case 24 : return page24();
  1001.     case 25 : return page25();
  1002.     case 26 : return page26();
  1003.     case 27 : return page27();
  1004.     case 28 : return page28();
  1005.     case 29 : return page29();
  1006.     case 30 : return page30();
  1007.     case 31 : return page31();
  1008.     case 32 : return page32();
  1009.     case 33 : return page33();
  1010.     case 34 : return page34();
  1011.     case 35 : return page35();
  1012.     case 36 : return page36();
  1013.     case 37 : return page37();
  1014.     case 38 : return page38();
  1015.     case 39 : return page39();
  1016.     case 40 : return page40();
  1017.     case 41 : return page41();
  1018.     case 42 : return page42();
  1019.     case 43 : return page43();
  1020.     case 44 : return page44();
  1021.     case 45 : return page45();
  1022.     case 46 : return page46();
  1023.     case 47 : return page47();
  1024.     case 48 : return page48();
  1025.     case 49 : return page49();
  1026.     case 50 : return page50();
  1027.     case 51 : return page51();
  1028.     case 52 : return page52();
  1029.     case 53 : return page53();
  1030.     case 54 : return page54();
  1031.     case 55 : return page55();
  1032.     case 56 : return page56();
  1033.     case 57 : return page57();
  1034.     default : break;
  1035.     }
  1036. }
  1037.  
  1038. main()
  1039. {
  1040.     instructions();    more();
  1041.     character();    more();
  1042.     while((page=next_page(page))!=0)    more();
  1043. }
  1044.