2 ! ******************************************************************
5 ! Add-on file for SPIRITWRAK
6 ! -- Contains Great Underground Subway system (trains and tunnels
7 ! and various denizens)
8 ! ******************************************************************
10 ! First, some globals (sigh)
11 ! Two for each train line -- one indicates 'direction' of train,
12 ! the second indicates the current 'location' of train.
13 global PURPLELINE_dir = 0; ! 0 North, 1 South
14 global PURPLELINE_loc = 1; ! 1-10, frostham to fublio
15 global ORANGELINE_dir = 0; ! 0 West, 1 East
16 global ORANGELINE_loc = 1; ! 1-10, Aragain to Gurth
17 global GREENLINE_dir = 0; ! 0 North, 1 South
18 global GREENLINE_loc = 1; ! 1-10, New Borphee to Miznia
20 ! (Subway stops in each city are named as part of the city in
21 ! caps, concat'd with "_GUSStation". All are (of course)
24 Object FROSTHAM_GUSStation "Frostham GUS Station"
26 print "You are standing ";
27 if (self hasnt general) {
29 "in a dimly lit underground \
30 chamber. There seems \
31 to be a much larger room to the southeast, which is \
32 unfortunately almost completely blocked by a long metal \
33 barricade and gate. Stairs lead up to the outside.";
35 "at the entrance to the Frostham \
36 Great Underground Subway (GUS) station. The train \
37 platform lies past the gate to the southeast, or \
38 stairs lead up into the city.";
40 name "stairs" "platform",
41 u_to FROSTHAM_GUSStop,
46 if (FG_Gate_slot hasnt general)
47 "A strange buzzing noise sounds as you try \
48 to pass through the gate, and an invisible \
49 force blocks your way!";
51 give FG_Gate_slot ~general;
52 print "You saunter through the apparently open gate.^";
59 Object ARAGAIN_GUSStation "Aragain GUS Station"
60 with description "You are standing at the entrance to the Aragain \
61 Great Underground Subway (GUS) station. The train \
62 platform lies past the gate to the southeast, or \
63 stairs lead up into the city. Some lettering on the \
64 wall reads ~TRANSFER STATION~.",
65 name "stairs" "platform",
71 if (AG_Gate_slot hasnt general)
72 "A strange buzzing noise sounds as you try \
73 to pass through the gate, and an invisible \
74 force blocks your way!";
76 give AG_Gate_slot ~general;
77 print "You saunter through the apparently open gate.^";
83 Object FUBLIO_GUSStation "Fublio Valley GUS Station"
84 with description "You are standing at the entrance to the \
86 Great Underground Subway (GUS) station. The train \
87 platform lies past the gate to the southeast, or \
88 stairs lead up into the city.",
89 name "stairs" "platform",
95 if (FublioG_Gate_slot hasnt general)
96 "A strange buzzing noise sounds as you try \
97 to pass through the gate, and an invisible \
98 force blocks your way!";
100 give FublioG_Gate_slot ~general;
101 print "You saunter through the apparently open gate.^";
107 ! (Orange stations - one)
108 Object ANTHAR_GUSStation "Greater Anthar GUS Station"
109 with description "You are standing at the entrance to the Greater Anthar \
110 Great Underground Subway (GUS) station. The train \
111 platform lies past the gate to the south, or \
112 stairs lead up into the city.",
113 name "stairs" "platform",
119 if (AntharG_Gate_slot hasnt general)
120 "A strange buzzing noise sounds as you try \
121 to pass through the gate, and an invisible \
122 force blocks your way!";
124 give AntharG_Gate_slot ~general;
125 print "You saunter through the apparently open gate.^";
131 ! (Green stations - three)
132 Object GURTH_GUSStation "Gurth City GUS Station"
133 with description "You are standing at the entrance to the Gurth City \
134 Great Underground Subway (GUS) station. The train \
135 platform lies past the gate to the southwest, or \
136 stairs lead up into the city. Some lettering on the \
137 wall reads ~TRANSFER STATION~.",
138 name "stairs" "platform",
144 print "You are greeted by a light rain as you leave the \
147 if (GurthG_Gate hasnt general) ! note diff
148 "A strange buzzing noise sounds as you try \
149 to pass through the gate, and an invisible \
150 force blocks your way!";
152 give GurthG_Gate ~general;
153 print "You saunter through the apparently open gate.^";
159 Object BORPHEE_GUSStation "New Borphee GUS Station"
160 with description "You are standing at the entrance to the New Borphee \
161 Great Underground Subway (GUS) station. The train \
162 platform lies past the gate to the southwest, or \
163 stairs lead up into the city.",
164 name "stairs" "platform",
165 u_to BORPHEE_GUSStop,
170 print "You enter the city and are nearly \
171 flattened by crowds rushing past.^";
173 if (BorpheeG_Gate_slot hasnt general)
174 "A strange buzzing noise sounds as you try \
175 to pass through the gate, and an invisible \
176 force blocks your way!";
178 give BorpheeG_Gate_slot ~general;
179 print "You saunter through the apparently open gate.^";
185 Object MIZNIA_GUSStation "Miznia GUS Station"
186 with description "You are standing at the entrance to the Miznia \
187 Great Underground Subway (GUS) station. The train \
188 platform lies past the gate to the southwest, or \
189 stairs lead up into the city.",
190 name "stairs" "platform",
196 if (MizniaG_Gate_slot hasnt general)
197 "A strange buzzing noise sounds as you try \
198 to pass through the gate, and an invisible \
199 force blocks your way!";
201 give MizniaG_Gate_slot ~general;
202 print "You saunter through the apparently open gate.^";
208 Object FROSTHAM_GUSPlatform "Frostham Train Platform"
210 print "You are standing in a long underground \
211 chamber. The east side of the room contains a \
212 lowered set of what appear to be train tracks. \
213 The tracks run south into a dark tunnel. \
214 Along one wall painted lettering \
215 reads ~FROSTHAM STATION~. \
216 A short walkway leads northwest, to a metal fence";
217 if (self has general)
218 ". There is a large train car sitting on the tracks \
224 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
226 in_to PURPLELINE_car,
229 ! if (noun == nw_obj)
230 ! print "You saunter through the apparently open gate.^";
231 if ((self hasnt general) &&
232 (noun == e_obj or in_obj))
233 "You'd fall onto the tracks if you went that way.";
236 if (self hasnt general) {
238 if (i==1 or 2 or 3) {
241 PURPLELINE_dir = 1; ! will be heading south
242 "^Suddenly, from the south, a train emerges from \
243 the tunnel! It pulls to a screeching halt, the \
244 doors open, and several people rush out and exit \
248 "^You hear a distant rumbling noise from the south.";
251 if (self has general) {
252 if (PURPLELINE_loc == 2) {
254 "^The train doors close, and the train rolls off \
259 "^A few exit the train, and hurry out \
260 of the station. You hear a voice from inside the \
261 train say, ~Doors will be closing, please stand \
270 ! (Classes for gates and slots)
272 with name "gate" "metal",
273 initial "A metal gate bisects the fence.",
275 door_to FROSTHAM_GUSPlatform,
277 Climb, JumpOver: "A subway worker yells ~Hey pal, no fare-jumpers!";
278 Open: "It looks like it's already open.";
279 Close: "There doesn't seem to be anything to close.";
280 Enter: "You'll have to walk in the appropriate direction to go through it.";
282 description "It's an odd metal gate that only comes up to about \
283 your waist. Odder still is the fact that there's \
284 no door on the gate, just two metal sides",
285 has static door transparent open;
286 Class GUS_Gate_Slot_Class
287 with name "slot" "metal" "thin" "small",
288 description "You see a rather small, thin slot that seems to be \
289 almost cut into one of the metal sides of the gate.",
291 LetGo: "There's no way to get anything out of that tiny, \
294 if (noun has is_coin) {
296 remove noun; ! collection
297 "The coin slides into the slot with a satisfying thunk.";
299 "It doesn't look like that's going to fit into the slot.";
302 has scenery container open;
305 Object FG_Gate "platform gate"
306 class GUS_Gate_Class,
308 if (location==FROSTHAM_GUSStation)
309 "A metal gate bisects the fence to the southeast.";
310 "A metal gate bisects the fence to the northwest.";
313 if (location==FROSTHAM_GUSStation)
318 if (location==FROSTHAM_GUSStation)
319 return FROSTHAM_GUSPlatform;
320 return FROSTHAM_GUSStation;
324 if (location==FROSTHAM_GUSStation) <<Go se_obj>>;
328 print "It's an odd metal gate that only comes up to about \
329 your waist. Odder still is the fact that there's \
330 no door on the gate, just two metal sides";
331 if (location == FROSTHAM_GUSStation)
332 ". There's a thin slot on one of the sides.";
335 found_in FROSTHAM_GUSStation FROSTHAM_GUSPlatform,
340 Object FG_Gate_slot "metal slot" FG_Gate
341 class GUS_Gate_Slot_Class
343 if (location == FROSTHAM_GUSPlatform)
344 "You can't see any such thing.";
345 if (location == FROSTHAM_GUSStation)
346 "You see a rather small, thin slot that seems to be \
347 almost cut into one of the metal sides of the gate.";
350 if (location == FROSTHAM_GUSPlatform)
351 "You can't see any such thing.";
356 Object AG_Gate "platform gate"
359 if (location==ARAGAIN_GUSStation)
360 "A metal gate bisects the fence to the southeast.";
361 "A metal gate bisects the fence to the northwest.";
364 if (location==ARAGAIN_GUSStation)
369 if (location==ARAGAIN_GUSStation)
370 return ARAGAIN_GUSPlatform;
371 return ARAGAIN_GUSStation;
375 if (location==FROSTHAM_GUSStation) <<Go se_obj>>;
379 print "It's an odd metal gate that only comes up to about \
380 your waist. Odder still is the fact that there's \
381 no door on the gate, just two metal sides";
382 if (location == ARAGAIN_GUSStation)
383 ". There's a thin slot on one of the sides.";
386 found_in ARAGAIN_GUSStation ARAGAIN_GUSPlatform,
389 Object AG_Gate_slot "metal slot" AG_Gate
390 class GUS_Gate_Slot_Class
392 if (location == ARAGAIN_GUSPlatform)
393 "You can't see any such thing.";
394 if (location == ARAGAIN_GUSStation)
395 "You see a rather small, thin slot that seems to be \
396 almost cut into one of the metal sides of the gate.";
399 if (location == ARAGAIN_GUSPlatform)
400 "You can't see any such thing.";
405 Object FublioG_Gate "platform gate"
408 if (location==FUBLIO_GUSStation)
409 "A metal gate bisects the fence to the southeast.";
410 "A metal gate bisects the fence to the northwest.";
413 if (location==FUBLIO_GUSStation)
418 if (location==FUBLIO_GUSStation)
419 return FUBLIO_GUSPlatform;
420 return FUBLIO_GUSStation;
424 if (location==FUBLIO_GUSStation) <<Go se_obj>>;
428 print "It's an odd metal gate that only comes up to about \
429 your waist. Odder still is the fact that there's \
430 no door on the gate, just two metal sides";
431 if (location == FUBLIO_GUSStation)
432 ". There's a thin slot on one of the sides.";
435 found_in FUBLIO_GUSStation FUBLIO_GUSPlatform,
438 Object FublioG_Gate_slot "metal slot" FublioG_Gate
439 class GUS_Gate_Slot_Class
441 if (location == FUBLIO_GUSStation)
442 "You see a rather small, thin slot that seems to be \
443 almost cut into one of the metal sides of the gate.";
444 !! See if this works instead...
445 "You can't see any such thing.";
448 if (location == FUBLIO_GUSPlatform)
449 "You can't see any such thing.";
454 Object AntharG_Gate "platform gate"
457 if (location==ANTHAR_GUSStation)
458 "A metal gate bisects the fence to the south.";
459 "A metal gate bisects the fence to the north.";
462 if (location==ANTHAR_GUSStation)
467 if (location==ANTHAR_GUSStation)
468 return ANTHAR_GUSPlatform;
469 return ANTHAR_GUSStation;
473 if (location==ANTHAR_GUSStation) <<Go s_obj>>;
477 print "It's an odd metal gate that only comes up to about \
478 your waist. Odder still is the fact that there's \
479 no door on the gate, just two metal sides";
480 if (location == ANTHAR_GUSStation)
481 ". There's a thin slot on one of the sides.";
484 found_in ANTHAR_GUSStation ANTHAR_GUSPlatform,
487 Object AntharG_Gate_slot "metal slot" AntharG_Gate
488 class GUS_Gate_Slot_Class
490 if (location == ANTHAR_GUSStation)
491 "You see a rather small, thin slot that seems to be \
492 almost cut into one of the metal sides of the gate.";
493 "You can't see any such thing.";
496 if (location == ANTHAR_GUSPlatform)
497 "You can't see any such thing.";
503 Object BorpheeG_Gate "platform gate"
506 if (location==BORPHEE_GUSStation)
507 "A metal gate bisects the fence to the southwest.";
508 "A metal gate bisects the fence to the northeast.";
511 if (location==BORPHEE_GUSStation)
516 if (location==BORPHEE_GUSStation)
517 return BORPHEE_GUSPlatform;
518 return BORPHEE_GUSStation;
522 if (location == BORPHEE_GUSStation) <<Go sw_obj>>;
526 print "It's an odd metal gate that only comes up to about \
527 your waist. Odder still is the fact that there's \
528 no door on the gate, just two metal sides";
529 if (location == BORPHEE_GUSStation)
530 ". There's a thin slot on one of the sides.";
533 found_in BORPHEE_GUSStation BORPHEE_GUSPlatform,
536 Object BorpheeG_Gate_slot "metal slot" BorpheeG_Gate
537 class GUS_Gate_Slot_Class
539 if (location == BORPHEE_GUSStation)
540 "You see a rather small, thin slot that seems to be \
541 almost cut into one of the metal sides of the gate.";
542 "You can't see any such thing.";
545 if (location == BORPHEE_GUSPlatform)
546 "You can't see any such thing.";
550 ! (NOTE: Gurth is different, read: broken)
551 Object GurthG_Gate "platform gate"
554 if (location==GURTH_GUSStation)
555 "A metal gate bisects the fence to the southwest.";
556 "A metal gate bisects the fence to the northeast.";
559 if (location==GURTH_GUSStation)
564 if (location==GURTH_GUSStation)
565 return GURTH_GUSPlatform;
566 return GURTH_GUSStation;
569 Enter: if (location == GURTH_GUSStation) <<Go sw_obj>>;
573 print "It's an odd metal gate that only comes up to about \
574 your waist. Odder still is the fact that there's \
575 no door on the gate, just two metal sides";
576 if (location == GURTH_GUSStation)
577 ". There's a thin slot on one of the sides that looks \
581 found_in GURTH_GUSStation GURTH_GUSPlatform,
584 Object GurthG_Gate_slot "metal slot" GurthG_Gate
585 class GUS_Gate_Slot_Class
588 if (location == GURTH_GUSStation)
589 "You see a rather small, thin slot that seems to be \
590 almost cut into one of the metal sides of the gate. \
591 It looks slightly dented.";
592 "You can't see any such thing.";
595 if (location == GURTH_GUSPlatform)
596 "You can't see any such thing.";
598 if (noun has is_coin) {
601 "The coin slides into the slot, but you hear a strange click \
602 almost immediately.^^\
603 A subway nymph suddenly appears. She looks at the gate \
604 disapprovingly. ~Broken again? I thought they \
605 just fixed it. Well, fine.~ She seems rather annoyed. \
606 ~We'll get someone to look at it, eventually. Bye!~ She \
610 if (self hasnt general)
611 "You poke the wire in the slot for a bit, but nothing \
613 if (self has general) {
616 give GurthG_Gate general;
617 "You poke around in the slot, and manage to free something! \
618 There is a solid thunk-like noise.";
621 "It doesn't look like that's going to fit into the slot.";
625 Object MizniaG_Gate "platform gate"
628 if (location==MIZNIA_GUSStation)
629 "A metal gate bisects the fence to the southwest.";
630 "A metal gate bisects the fence to the northeast.";
633 if (location==MIZNIA_GUSStation)
638 if (location==MIZNIA_GUSStation)
639 return MIZNIA_GUSPlatform;
640 return MIZNIA_GUSStation;
643 Enter: if (location==MIZNIA_GUSStation) <<Go sw_obj>>;
647 print "It's an odd metal gate that only comes up to about \
648 your waist. Odder still is the fact that there's \
649 no door on the gate, just two metal sides";
650 if (location == MIZNIA_GUSStation)
651 ". There's a thin slot on one of the sides.";
654 found_in MIZNIA_GUSStation MIZNIA_GUSPlatform,
657 Object MizniaG_Gate_slot "metal slot" MizniaG_Gate
658 class GUS_Gate_Slot_Class
660 if (location == MIZNIA_GUSStation)
661 "You see a rather small, thin slot that seems to be \
662 almost cut into one of the metal sides of the gate.";
663 "You can't see any such thing.";
666 if (location==MIZNIA_GUSPlatform)
667 "You can't see any such thing.";
673 !Object FS_Platform_sign2 "laminated paper" FROSTHAM_GUSPlatform
674 ! with name "paper" "laminated" "safety",
675 ! initial "A small stiff-looking piece of paper is attached to the west wall.",
676 ! description "The paper reads: ^^\
677 ! GREAT UNDERGROUND SUBWAY STATION RULES:^
678 ! 1) No going onto tracks.^
679 ! 2) No going into tunnels on foot unless authorized.",
682 Object train_tracks "train tracks"
683 with name "tracks" "train",
684 description "A pair of large metal train tracks.",
685 found_in FROSTHAM_GUSPlatform ARAGAIN_GUSPlatform FUBLIO_GUSPlatform
686 ARAGAIN_GUSPlatform2,
690 Object ARAGAIN_GUSPlatform "Aragain Train Platform"
692 print "You are standing in a long underground \
693 chamber. The east side of the room contains a \
694 lowered set of what appear to be train tracks. \
695 The tracks run north and south into dark tunnels. \
696 Along one wall painted lettering \
697 reads ~ARAGAIN STATION~. \
698 A short walkway leads northwest, to a metal fence. \
699 There is also a stairway down here";
700 if (self has general)
701 ". In addition, there is a large train car sitting on the tracks \
705 name "tunnel" "tunnels" "stairway",
707 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
708 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
710 d_to ARAGAIN_GUSPlatform2,
711 in_to PURPLELINE_car,
714 ! if (noun == nw_obj)
715 ! print "You saunter through the apparently open gate.^";
716 if ((self hasnt general) &&
717 (noun == e_obj or in_obj))
718 "You'd fall onto the tracks if you went that way.";
721 if (self hasnt general) {
723 if (i==1 or 3 or 5) {
726 PURPLELINE_dir = 1; ! will be heading south
727 "^Suddenly, from the north, a train emerges from \
728 the tunnel! It pulls to a screeching halt, the \
729 doors open, and several people rush out and exit \
732 if (i==2 or 4 or 6) {
735 PURPLELINE_dir = 0; ! will be heading north
736 "^Suddenly, from the south, a train emerges from \
737 the tunnel! It pulls to a screeching halt, the \
738 doors open, and several people rush out and exit \
742 "^You hear a distant rumbling noise from the north.";
744 "^You hear a distant rumbling noise from the south.";
747 if (self has general) {
748 if (PURPLELINE_loc == 6) {
750 "^The train doors close, and the train rolls off.";
754 "^A few exit the train, and hurry out \
755 of the station. You hear a voice from inside the \
756 train say, ~Doors will be closing, please stand \
764 Object ARAGAIN_GUSPlatform2 "Aragain Train Platform (lower)"
766 print "You are standing in a long underground \
767 chamber. The south side of the room contains a \
768 lowered set of what appear to be train tracks. \
769 The tracks run west into a dark tunnel. \
770 Along one wall painted lettering \
771 reads ~ARAGAIN STATION~. \
772 A set of stairs leads up out of the gloom";
773 if (self has general)
774 ". There is a large train car sitting on the tracks \
778 name "tunnel" "stairs",
779 w_to "A helpful subway worker says ~Hey pal, get outa there!~",
781 in_to ORANGELINE_car,
782 u_to ARAGAIN_GUSPlatform,
785 if ((self hasnt general) &&
786 (noun == s_obj or in_obj))
787 "You'd fall onto the tracks if you went that way.";
790 if (self hasnt general) {
792 if (i==1 or 3 or 5) {
795 ORANGELINE_dir = 0; ! will be heading west
796 "^Suddenly, from the west, a train emerges from \
797 the tunnel! It pulls to a screeching halt, the \
798 doors open, and several people rush out and up \
802 "^You hear a distant rumbling noise from the west.";
805 if (self has general) {
806 if (ORANGELINE_loc == 10) {
808 "^The train doors close, and the train heads off \
813 "^A few people exit the train, and hurry up the stairs. \
814 You hear a voice from inside the \
815 train say, ~Doors will be closing, please stand \
824 Object FUBLIO_GUSPlatform "Fublio Valley Train Platform"
826 print "You are standing in a long underground \
827 chamber. The east side of the room contains a \
828 lowered set of what appear to be train tracks. \
829 The tracks run north into a dark tunnel. \
830 Along one wall painted lettering \
831 reads ~FUBLIO VALLEY STATION~. \
832 A short walkway leads northwest, to a metal fence";
833 if (self has general)
834 ". There is a large train car sitting on the tracks \
840 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
842 in_to PURPLELINE_car,
845 ! if (noun == nw_obj)
846 ! print "You saunter through the apparently open gate.^";
847 if ((self hasnt general) &&
848 (noun == e_obj or in_obj))
849 "You'd fall onto the tracks if you went that way.";
852 if (self hasnt general) {
854 if (i==1 or 3 or 4) {
857 PURPLELINE_dir = 0; ! will be heading north
858 "^Suddenly, from the north, a train emerges from \
859 the tunnel! It pulls to a screeching halt, the \
860 doors open, and several people rush out and exit \
864 "^You hear a distant rumbling noise from the north.";
867 if (self has general) {
868 if (PURPLELINE_loc == 9) {
870 "^The train doors close, and the train rolls off \
875 "^A few people exit the train, and hurry out \
876 of the station. You hear a voice from inside the \
877 train say, ~Doors will be closing, please stand \
886 ! *** Orange line platforms
889 Object GURTH_GUSPlatform2 "Gurth City Train Platform (lower)"
891 print "You are standing in a long underground \
892 chamber. The south side of the room contains a \
893 lowered set of what appear to be train tracks. \
894 The tracks run east into a dark tunnel. \
895 Along one wall painted lettering \
896 reads ~GURTH CITY STATION~. \
897 A set of stairs leads up out of the gloom";
898 if (self has general)
899 ". There is a large train car sitting on the tracks \
903 name "tunnel" "stairs",
904 e_to "A helpful subway worker says ~Hey pal, get outa there!~",
906 in_to ORANGELINE_car,
907 u_to GURTH_GUSPlatform,
910 if ((self hasnt general) &&
911 (noun == s_obj or in_obj))
912 "You'd fall onto the tracks if you went that way.";
915 if (self hasnt general) {
917 if (i==1 or 2 or 4) {
920 ORANGELINE_dir = 1; ! will be heading east
921 "^Suddenly, from the east, a train emerges from \
922 the tunnel! It pulls to a screeching halt, the \
923 doors open, and several people rush out and up \
927 "^You hear a distant rumbling noise from the east.";
930 if (self has general) {
931 if (ORANGELINE_loc == 2) {
933 "^The train doors close, and the train heads off \
938 "^A few people exit the train, and hurry up the stairs. \
939 You hear a voice from inside the \
940 train say, ~Doors will be closing, please stand \
948 Object ANTHAR_GUSPlatform "Greater Anthar Train Platform"
950 print "You are standing in a long underground \
951 chamber. The south side of the room contains a \
952 lowered set of what appear to be train tracks. \
953 The tracks run east and west into dark tunnels. \
954 Along one wall painted lettering \
955 reads ~ANTHAR STATION~. \
956 A short walkway leads north, to a metal fence";
957 if (self has general)
958 ". There is a large train car sitting on the tracks \
962 name "tunnel" "tunnels" "walkway",
964 e_to "A helpful subway worker says ~Hey pal, get outa there!~",
965 w_to "A helpful subway worker says ~Hey pal, get outa there!~",
967 in_to ORANGELINE_car,
971 ! print "You saunter through the apparently open gate.^";
972 if ((self hasnt general) &&
973 (noun == s_obj or in_obj))
974 "You'd fall onto the tracks if you went that way.";
977 if (self hasnt general) {
979 if (i==1 or 4 or 5) {
982 ORANGELINE_dir = 1; ! will be heading east
983 "^Suddenly, from the west, a train emerges from \
984 the tunnel! It pulls to a screeching halt, the \
985 doors open, and several people rush out and exit \
988 if (i==2 or 3 or 6) {
991 ORANGELINE_dir = 0; ! will be heading west
992 "^Suddenly, from the east, a train emerges from \
993 the tunnel! It pulls to a screeching halt, the \
994 doors open, and several people rush out and exit \
998 "^You hear a distant rumbling noise from the east.";
1000 "^You hear a distant rumbling noise from the west.";
1003 if (self has general) {
1004 if (ORANGELINE_loc == 6) {
1006 "^The train doors close, and the train rolls off.";
1010 "^A few people exit the train, and hurry out \
1011 of the station. You hear a voice from inside the \
1012 train say, ~Doors will be closing, please stand \
1021 ! *** Green line platforms
1023 Object BORPHEE_GUSPlatform "New Borphee Train Platform"
1025 print "You are standing in a long underground \
1026 chamber. The west side of the room contains a \
1027 lowered set of what appear to be train tracks. \
1028 The tracks run south into a dark tunnel. \
1029 Along one wall painted lettering \
1030 reads ~NEW BORPHEE STATION~. \
1031 A short walkway leads northeast, to a metal fence";
1032 if (self has general)
1033 ". There is a large train car sitting on the tracks \
1037 name "tunnel" "walkway",
1038 ne_to BorpheeG_Gate,
1039 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
1041 in_to GREENLINE_car,
1044 ! if (noun == ne_obj)
1045 ! print "You saunter through the apparently open gate.^";
1046 if ((self hasnt general) &&
1047 (noun == w_obj or in_obj))
1048 "You'd fall onto the tracks if you went that way.";
1051 if (self hasnt general) {
1053 if (i==1 or 2 or 3) {
1056 GREENLINE_dir = 1; ! will be heading south
1057 "^Suddenly, from the south, a train emerges from \
1058 the tunnel! It pulls to a screeching halt, the \
1059 doors open, and several people rush out and exit \
1063 "^You hear a distant rumbling noise from the south.";
1066 if (self has general) {
1067 if (GREENLINE_loc == 2) {
1069 "^The train doors close, and the train rolls off \
1074 "^A few people exit the train, and hurry out \
1075 of the station. You hear a voice from inside the \
1076 train say, ~Doors will be closing, please stand \
1084 Object MIZNIA_GUSPlatform "Miznia Train Platform"
1086 print "You are standing in a long underground \
1087 chamber. The west side of the room contains a \
1088 lowered set of what appear to be train tracks. \
1089 The tracks run north into a dark tunnel. \
1090 Along one wall painted lettering \
1091 reads ~MIZNIA STATION~. \
1092 A short walkway leads northeast, to a metal fence";
1093 if (self has general)
1094 ". There is a large train car sitting on the tracks \
1098 name "tunnel" "walkway",
1100 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
1102 in_to GREENLINE_car,
1105 ! if (noun == ne_obj)
1106 ! print "You saunter through the apparently open gate.^";
1107 if ((self hasnt general) &&
1108 (noun == w_obj or in_obj))
1109 "You'd fall onto the tracks if you went that way.";
1112 if (self hasnt general) {
1114 if (i==1 or 2 or 3) {
1117 GREENLINE_dir = 0; ! will be heading south
1118 "^Suddenly, from the north, a train emerges from \
1119 the tunnel! It pulls to a screeching halt, the \
1120 doors open, and several people rush out and exit \
1124 "^You hear a distant rumbling noise from the north.";
1127 if (self has general) {
1128 if (GREENLINE_loc == 10) {
1130 "^The train doors close, and the train rolls off \
1135 "^A few people exit the train, and hurry out \
1136 of the station. You hear a voice from inside the \
1137 train say, ~Doors will be closing, please stand \
1145 Object GURTH_GUSPlatform "Gurth City Train Platform"
1147 print "You are standing in a long underground \
1148 chamber. The west side of the room contains a \
1149 lowered set of what appear to be train tracks. \
1150 The tracks run north and south into dark tunnels. \
1151 Along one wall painted lettering \
1152 reads ~GURTH CITY STATION~. \
1153 A short walkway leads northeast, to a metal fence. \
1154 There is also a stairway down here";
1155 if (self has general)
1156 ". There is a large train car sitting on the tracks \
1160 name "tunnel" "tunnels" "walkway" "stairway",
1162 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
1163 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
1165 d_to GURTH_GUSPlatform2,
1166 in_to GREENLINE_car,
1169 ! if (noun == ne_obj)
1170 ! print "You saunter through the apparently open gate.^";
1171 if ((self hasnt general) &&
1172 (noun == w_obj or in_obj))
1173 "You'd fall onto the tracks if you went that way.";
1176 if (self hasnt general) {
1181 GREENLINE_dir = 1; ! will be heading south
1182 "^Suddenly, from the north, a train emerges from \
1183 the tunnel! It pulls to a screeching halt, the \
1184 doors open, and several people rush out and exit \
1190 GREENLINE_dir = 0; ! will be heading north
1191 "^Suddenly, from the south, a train emerges from \
1192 the tunnel! It pulls to a screeching halt, the \
1193 doors open, and several people rush out and exit \
1197 "^You hear a distant rumbling noise from the north.";
1199 "^You hear a distant rumbling noise from the south.";
1202 if (self has general) {
1203 if (GREENLINE_loc == 6) {
1205 "^The train doors close, and the train rolls off.";
1209 "^A few people exit the train, and hurry out \
1210 of the station. You hear a voice from inside the \
1211 train say, ~Doors will be closing, please stand \
1219 ! **************************
1222 ! While it may seem more logical to implement the trains with
1223 ! an 'enterable' property, I decided to implement them as
1224 ! 'rooms' instead. Mainly, I did this because:
1225 ! 1) I wanted total control of the "movement" of the train.
1226 ! 2) I wanted to fill the cars with various people/things.
1227 ! 3) I wanted seats on the train :)
1228 ! Again, this is all probably possible with 'vehicles', I
1229 ! just saw things slightly differently.
1230 ! Be warned, the logic in moving the train is probably one
1231 ! of the more unfathomable things I've ever coded.
1232 ! **************************
1234 ! *** The purple line (Eastlands)
1236 Object PURPLELINE_car "Subway car"
1237 with description "You are in an underground train car. Various \
1238 people fill the train, some in uncomfortable-looking seats.",
1239 name "car" "people",
1240 w_to FROSTHAM_GUSPlatform, ! we adjust this, see below
1241 out_to FROSTHAM_GUSPlatform,
1244 if (noun == e_obj or in_obj) {
1245 ! determine boarding location, direction train was
1247 give self general; ! we're off and moving...
1248 print "^You enter the train car. The doors slam shut behind you.^";
1249 if (PURPLELINE_loc == 1 or 2) {
1251 give FROSTHAM_GUSPlatform ~general;
1252 PURPLELINE_loc = 3; ! leaving
1254 if (PURPLELINE_loc == 5 or 6) {
1256 ! give ARAGAIN_GUSPlatform ~general;
1257 if (PURPLELINE_dir == 1) {
1266 if (PURPLELINE_loc == 9 or 10) {
1268 ! give FUBLIO_GUSPlatform ~general;
1275 if (noun == w_obj or out_obj) {
1276 if (self has general)
1277 "The train is moving right now. Better wait til \
1278 it stops to get off.";
1280 "As you try to get off, the thug gets in your way. \
1281 ~Going somewhere, Padre?~.";
1285 ! check location of train, print appropriate msg,
1286 ! and increment location of train, given direction
1287 if (PURPLELINE_loc == 1) {
1288 ! reached Frostham, dir = S, not moving
1290 give FROSTHAM_GUSPlatform general;
1293 PURPLELINE_car.w_to = FROSTHAM_GUSPlatform;
1294 PURPLELINE_car.out_to = FROSTHAM_GUSPlatform;
1295 "^The train suddenly lurches to a stop! A voice from \
1296 somewhere overhead says ~Frostham station, watch your \
1299 if (PURPLELINE_loc == 2) {
1300 ! still in Frostham, not moving
1302 "^A voice overhead says ~Doors will be closing, please \
1305 if (PURPLELINE_loc == 3) {
1306 if (PURPLELINE_dir == 1) {
1307 ! moving away from Frostham
1309 give FROSTHAM_GUSPlatform ~general;
1311 "^The train starts to move, quickly exiting the station \
1314 if (PURPLELINE_dir == 0) {
1315 ! moving towards Frostham
1316 PURPLELINE_loc = 1; ! We will 'arrive' in Frostham next
1317 "^The train rumbles as it moves.";
1320 if (PURPLELINE_loc == 4) {
1321 if (PURPLELINE_dir == 0) {
1322 ! We're leaving Aragain
1325 give ARAGAIN_GUSPlatform ~general;
1326 "^The train starts to move, quickly exiting the station \
1329 if (PURPLELINE_dir == 1) {
1331 "^The train rumbles as it moves.";
1334 if (PURPLELINE_loc == 5) {
1335 ! reached Aragain, stop the train
1337 give ARAGAIN_GUSPlatform general;
1338 PURPLELINE_loc = 6; ! we'll be stopping for 1 turn
1339 PURPLELINE_car.w_to = ARAGAIN_GUSPlatform;
1340 PURPLELINE_car.out_to = ARAGAIN_GUSPlatform;
1341 "^The train suddenly lurches to a stop! A voice from \
1342 somewhere overhead says ~Aragain station, watch your \
1345 if (PURPLELINE_loc == 6) {
1346 ! about to leave Aragain station
1347 if (PURPLELINE_dir == 0)
1351 "^A voice overhead says ~Doors will be closing, please \
1354 if (PURPLELINE_loc == 7) {
1355 if (PURPLELINE_dir == 1) {
1356 ! We're leaving Aragain
1359 give ARAGAIN_GUSPlatform ~general;
1360 "^The train starts to move, quickly exiting the station \
1363 if (PURPLELINE_dir == 0) {
1364 PURPLELINE_loc = 5; ! we will arrive in Aragain shortly...
1365 "^The train rumbles as it moves.";
1368 if (PURPLELINE_loc == 8) {
1369 if (PURPLELINE_dir == 0) {
1370 ! we're leaving Fublio
1373 give FUBLIO_GUSPlatform ~general;
1374 "^The train starts to move, quickly exiting the station \
1377 if (PURPLELINE_dir == 1) {
1378 PURPLELINE_loc = 10; ! will arrive in Fublio (BACKWARDS!!)
1379 "^The train rumbles as it moves.";
1382 if (PURPLELINE_loc == 9) {
1383 ! still waiting in Fublio
1385 "^A voice overhead says ~Doors will be closing, please \
1388 if (PURPLELINE_loc == 10) {
1389 ! arriving in Fublio
1391 PURPLELINE_dir = 0; ! north
1393 give FUBLIO_GUSPlatform general;
1394 PURPLELINE_car.w_to = FUBLIO_GUSPlatform;
1395 PURPLELINE_car.out_to = FUBLIO_GUSPlatform;
1396 "^The train suddenly lurches to a stop! A voice from \
1397 somewhere overhead says ~Fublio station, watch your \
1403 Class Train_Car_Seat_Class
1404 with name "seat" "seats",
1405 description "There seem to be a few seats that haven't been taken.",
1409 "As you attempt to grab an open seat, someone rudely \
1412 has scenery enterable;
1415 Object PURPLELINE_car_seats "subway seat" PURPLELINE_car
1416 class Train_Car_Seat_Class
1419 if (self hasnt general) {
1422 "Good fortune is your friend! You notice a \
1423 forgotten coin stuck in a seat crack, and fend off two \
1424 passengers to grab it.";
1430 ! *** ORANGE LINE CAR (Gurth to Aragain)
1433 Object ORANGELINE_car "Subway car"
1434 with description "You are in an underground train car. Various \
1435 people fill the train, some in uncomfortable-looking seats.",
1436 name "car" "people",
1437 n_to ANTHAR_GUSPlatform, ! we adjust this, see below
1438 out_to ANTHAR_GUSPlatform,
1441 if (noun == s_obj or in_obj) {
1442 ! determine boarding location, direction train was
1444 give self general; ! we're off and moving...
1445 print "^You squeeze onto the train car. The doors close behind you.^";
1446 if (ORANGELINE_loc == 1 or 2) {
1448 give GURTH_GUSPlatform2 ~general;
1449 ORANGELINE_loc = 3; ! leaving
1451 if (ORANGELINE_loc == 5 or 6) {
1453 give ANTHAR_GUSPlatform ~general;
1454 if (ORANGELINE_dir == 1) {
1463 if (ORANGELINE_loc == 9 or 10) {
1465 give ARAGAIN_GUSPlatform2 ~general;
1472 if (noun == n_obj or out_obj) {
1473 if (self has general)
1474 "The train is moving right now. Better wait til \
1475 it stops to get off.";
1479 ! check location of train, print appropriate msg,
1480 ! and increment location of train, given direction
1481 if (ORANGELINE_loc == 1) {
1482 ! reached Gurth, dir = S, not moving
1484 give GURTH_GUSPlatform2 general;
1487 ORANGELINE_car.n_to = GURTH_GUSPlatform2;
1488 ORANGELINE_car.out_to = GURTH_GUSPlatform2;
1489 "^The train suddenly lurches to a stop! A voice from \
1490 somewhere overhead says ~Gurth City station, watch your \
1493 if (ORANGELINE_loc == 2) {
1494 ! still in Gurth, not moving
1496 "^A voice overhead says ~Doors will be closing, please \
1499 if (ORANGELINE_loc == 3) {
1500 if (ORANGELINE_dir == 1) {
1501 ! moving away from Gurth
1503 give GURTH_GUSPlatform2 ~general;
1505 "^The train starts to move, quickly exiting the station \
1508 if (ORANGELINE_dir == 0) {
1509 ! moving towards Gurth
1510 ORANGELINE_loc = 1; ! We will 'arrive' in Gurth next
1511 "^The train rumbles as it moves.";
1514 if (ORANGELINE_loc == 4) {
1515 if (ORANGELINE_dir == 0) {
1516 ! We're leaving Anthar
1519 give ANTHAR_GUSPlatform ~general;
1520 "^The train starts to move, quickly exiting the station \
1523 if (ORANGELINE_dir == 1) {
1525 "^The train rumbles as it moves.";
1528 if (ORANGELINE_loc == 5) {
1529 ! reached Anthar, stop the train
1531 give ANTHAR_GUSPlatform general;
1532 ORANGELINE_loc = 6; ! we'll be stopping for 1 turn
1533 ORANGELINE_car.n_to = ANTHAR_GUSPlatform;
1534 ORANGELINE_car.out_to = ANTHAR_GUSPlatform;
1535 "^The train suddenly lurches to a stop! A voice from \
1536 somewhere overhead says ~Greater Anthar station, watch your \
1539 if (ORANGELINE_loc == 6) {
1540 ! about to leave Anthar station
1541 if (ORANGELINE_dir == 0)
1545 "^A voice overhead says ~Doors will be closing, please \
1548 if (ORANGELINE_loc == 7) {
1549 if (ORANGELINE_dir == 1) {
1550 ! We're leaving Anthar
1553 give ANTHAR_GUSPlatform ~general;
1554 "^The train starts to move, quickly exiting the station \
1557 if (ORANGELINE_dir == 0) {
1558 ORANGELINE_loc = 5; ! we will arrive in anthar shortly...
1559 "^The train rumbles as it moves.";
1562 if (ORANGELINE_loc == 8) {
1563 if (ORANGELINE_dir == 0) {
1564 ! we're leaving Aragain
1567 give ARAGAIN_GUSPlatform2 ~general;
1568 "^The train starts to move, quickly exiting the station \
1571 if (ORANGELINE_dir == 1) {
1572 ORANGELINE_loc = 9; ! will arrive in Aragain
1573 "^The train rumbles as it moves.";
1576 if (ORANGELINE_loc == 10) {
1577 ! still waiting in Aragain
1579 "^A voice overhead says ~Doors will be closing, please \
1582 if (ORANGELINE_loc == 9) {
1583 ! arriving in Aragain
1584 ORANGELINE_loc = 10;
1585 ORANGELINE_dir = 0; ! west
1587 give ARAGAIN_GUSPlatform2 general;
1588 ORANGELINE_car.n_to = ARAGAIN_GUSPlatform2;
1589 ORANGELINE_car.out_to = ARAGAIN_GUSPlatform2;
1590 "^The train suddenly lurches to a stop! A voice from \
1591 somewhere overhead says ~Aragain station, watch your \
1597 Object ORANGELINE_car_seats "subway seat" ORANGELINE_car
1598 class Train_Car_Seat_Class
1601 if (self hasnt general) {
1604 "Good fortune is your friend! You notice a \
1605 forgotten coin stuck in a seat crack, and fend off two \
1606 passengers to grab it.";
1612 ! *** GREEN LINE (Borphee to Miznia)
1614 Object GREENLINE_car "Subway car"
1615 with description "You are in an underground train car. Various \
1616 people fill the train, some in uncomfortable-looking seats.",
1617 name "car" "people",
1618 e_to BORPHEE_GUSPlatform, ! we adjust this, see below
1619 out_to BORPHEE_GUSPlatform,
1622 if (noun == w_obj or in_obj) {
1623 ! determine boarding location, direction train was
1625 give self general; ! we're off and moving
1626 print "^You shove your way onto train car. The doors close behind you.^";
1627 if (GREENLINE_loc == 1 or 2) {
1629 give BORPHEE_GUSPlatform ~general;
1630 GREENLINE_loc = 3; ! leaving
1632 if (GREENLINE_loc == 5 or 6) {
1634 give GURTH_GUSPlatform ~general;
1635 if (GREENLINE_dir == 1) {
1644 if (GREENLINE_loc == 9 or 10) {
1646 give MIZNIA_GUSPlatform ~general;
1653 if (noun == e_obj or out_obj) {
1654 if (self has general)
1655 "The train is moving right now. Better wait til \
1656 it stops to get off.";
1658 "As you try to get off, the yupple jumps up and gets in your \
1659 way. ~Wait, wait, we have so much to talk about!~.";
1663 ! check location of train, print appropriate msg,
1664 ! and increment location of train, given direction
1665 if (GREENLINE_loc == 1) {
1666 ! reached Borphee, dir = S, not moving
1668 give BORPHEE_GUSPlatform general;
1671 GREENLINE_car.e_to = BORPHEE_GUSPlatform;
1672 GREENLINE_car.out_to = BORPHEE_GUSPlatform;
1673 "^The train suddenly lurches to a stop! A voice from \
1674 somewhere overhead says ~New Borphee station, watch your \
1677 if (GREENLINE_loc == 2) {
1678 ! still in Borphee, not moving
1680 "^A voice overhead says ~Doors will be closing, please \
1683 if (GREENLINE_loc == 3) {
1684 if (GREENLINE_dir == 1) {
1685 ! moving away from Borphee
1687 give BORPHEE_GUSPlatform ~general;
1689 "^The train starts to move, quickly exiting the station \
1692 if (GREENLINE_dir == 0) {
1693 ! moving towards BORPHEE
1695 "^The train rumbles as it moves.";
1698 if (GREENLINE_loc == 4) {
1699 if (GREENLINE_dir == 0) {
1700 ! We're leaving gurth
1703 give GURTH_GUSPlatform ~general;
1704 "^The train starts to move, quickly exiting the station \
1707 if (GREENLINE_dir == 1) {
1709 "^The train rumbles as it moves.";
1712 if (GREENLINE_loc == 5) {
1713 ! reached Gurth, stop the train
1715 give GURTH_GUSPlatform general;
1716 GREENLINE_loc = 6; ! we'll be stopping for 1 turn
1717 GREENLINE_car.e_to = GURTH_GUSPlatform;
1718 GREENLINE_car.out_to = GURTH_GUSPlatform;
1719 "^The train suddenly lurches to a stop! A voice from \
1720 somewhere overhead says ~Gurth City station, watch your \
1723 if (GREENLINE_loc == 6) {
1724 ! about to leave gurth station
1725 if (GREENLINE_dir == 0)
1729 "^A voice overhead says ~Doors will be closing, please \
1732 if (GREENLINE_loc == 7) {
1733 if (GREENLINE_dir == 1) {
1734 ! We're leaving gurth
1737 give GURTH_GUSPlatform ~general;
1738 "^The train starts to move, quickly exiting the station \
1741 if (GREENLINE_dir == 0) {
1742 GREENLINE_loc = 5; ! we will arrive in gurth shortly...
1743 "^The train rumbles as it moves.";
1746 if (GREENLINE_loc == 8) {
1747 if (GREENLINE_dir == 0) {
1748 ! we're leaving Miznia
1751 give MIZNIA_GUSPlatform ~general;
1752 "^The train starts to move, quickly exiting the station \
1755 if (GREENLINE_dir == 1) {
1757 "^The train rumbles as it moves.";
1760 if (GREENLINE_loc == 10) {
1761 ! still waiting in Miznia
1763 "^A voice overhead says ~Doors will be closing, please \
1766 if (GREENLINE_loc == 9) {
1767 ! arriving in Miznia
1769 GREENLINE_dir = 0; ! north
1771 give MIZNIA_GUSPlatform general;
1772 GREENLINE_car.e_to = MIZNIA_GUSPlatform;
1773 GREENLINE_car.out_to = MIZNIA_GUSPlatform;
1774 "^The train suddenly lurches to a stop! A voice from \
1775 somewhere overhead says ~Miznia station, watch your \
1781 Object GREENLINE_car_seats "subway seat" GREENLINE_car
1782 class Train_Car_Seat_Class
1785 if (self hasnt general) {
1788 "Good fortune is your friend! You notice a \
1789 forgotten coin stuck in a seat crack, and fend off two \
1790 passengers to grab it.";
1796 ! *** A fake scenery item, to describe the subway cars from outside ***
1797 Object subway_car_fake "subway car"
1798 with name "car" "train",
1800 print "It's a rather large, sleek-looking train car, oddly colored ";
1801 if (((location==FROSTHAM_GUSPlatform) && (FROSTHAM_GUSPlatform has general)) ||
1802 ((location==ARAGAIN_GUSPlatform) && (ARAGAIN_GUSPlatform has general)) ||
1803 ((location==FUBLIO_GUSPlatform) && (FUBLIO_GUSPlatform has general)))
1805 if (((location==ANTHAR_GUSPlatform) && (ANTHAR_GUSPlatform has general)) ||
1806 ((location==ARAGAIN_GUSPlatform2) && (ARAGAIN_GUSPlatform2 has general)) ||
1807 ((location==GURTH_GUSPlatform2) && (GURTH_GUSPlatform2 has general)))
1809 if (((location==BORPHEE_GUSPlatform) && (BORPHEE_GUSPlatform has general)) ||
1810 ((location==GURTH_GUSPlatform) && (GURTH_GUSPlatform has general)) ||
1811 ((location==MIZNIA_GUSPlatform) && (MIZNIA_GUSPlatform has general)))
1813 "You can't see any such thing.";
1815 found_in FROSTHAM_GUSPlatform ARAGAIN_GUSPlatform FUBLIO_GUSPlatform
1816 ANTHAR_GUSPlatform ARAGAIN_GUSPlatform2 GURTH_GUSPlatform2
1817 BORPHEE_GUSPlatform GURTH_GUSPlatform MIZNIA_GUSPlatform,
1820 "A subway nymph suddenly appears. ~Remember passengers, to \
1821 board the subway cars, you just have to go 'in', or in the \
1822 appropriate direction of the car. Bye!~";
1826 Object metal_fence "metal fence"
1827 with name "fence" "barricade",
1828 description "It looks like a smooth metal fence.",
1831 "A subway worker yells ~Hey pal, no fare-jumpers!";
1833 found_in FROSTHAM_GUSPlatform ARAGAIN_GUSPlatform FUBLIO_GUSPlatform
1834 FROSTHAM_GUSStation ARAGAIN_GUSStation FUBLIO_GUSStation
1835 ANTHAR_GUSPlatform BORPHEE_GUSPlatform GURTH_GUSPlatform MIZNIA_GUSPlatform
1836 ANTHAR_GUSStation BORPHEE_GUSStation GURTH_GUSStation MIZNIA_GUSStation,
1840 ! **************************
1841 ! People/denizens/creatures
1842 ! **************************
1844 ! Thug, on PURPLE LINE
1845 Object thug "sinister-looking thug" PURPLELINE_car
1846 with name "thug" "hoodlum" "Davey",
1847 description "A thug, clearly. Some scrapper with an attitude, \
1848 and the desire to use it.",
1850 if (self hasnt general) {
1852 "^The sinister-looking thug notices you from the back \
1853 of the car, and approaches. ~Well, well, well,~ he \
1854 says, ~what do we have here?~.";
1858 "^The thug pokes you in the ribs.";
1860 "^The thug snarls at you. ~Hey, I'm talking to you, \
1863 "^The thug tries to act friendly, and fails.";
1865 "^The thug scowls. ~You gonna tell me the error of \
1870 "As you move to show the rake a lesson, you notice \
1871 several more thugs in the background, eyeing your every \
1872 move. The thug smiles as you back-off, cautiously.";
1873 default: "The thug is too busy being sinister.";
1877 if (the_spell_was == espnis_spell) {
1879 "You begin to extol the virtues of bedtime prayers, \
1880 and the thug starts to yawn. Soon, his eyes blink \
1881 slowly, and before long, he nods off to sleep! Two \
1882 subway police officers, hiding until now, get up the \
1883 nerve to capture the snoring thug, and drag him \
1884 off, disappearing into the throng of people.";
1886 if (the_spell_was == foblub_spell) {
1887 "You give the thug a timely sermon on the \
1888 folly of crime in a moral society. He seems momentarily \
1889 fascinated. Too bad he wasn't actually sitting in anything.";
1894 ! Annoying Yupple, on GREEN LINE (kinda a cross between a yuppie and a yipple)
1895 Object yupple "annoying yupple" GREENLINE_car
1896 with name "yupple" "annoying",
1897 description "A young yupple, immaculately dressed in a pinstripe \
1898 three-piece suit and tie.",
1901 if (self hasnt general) {
1903 "^The annoying-looking yupple notices you from the back \
1904 of the car, and approaches. ~A priest,~ he \
1905 says, ~Just the person I was looking for.~ He \
1906 squeezes into a seat near you.";
1910 "^The yupple talks unceasingly about rainfall in some \
1911 place called ~the Amazon basin~.";
1913 "^The yupple smiles brightly. ~There's so much I have to \
1916 "^The yupple drones on about the science behind large \
1917 corporate takeovers.";
1919 "^The yupple laughs -- a sound somewhat like a snoring \
1920 bloodworm. ~So the guy says, 'I thought you meant my _wife_.' \
1925 "Much as you'd like to, that's just something the \
1926 Order would probably frown upon.";
1930 if (the_spell_was == espnis_spell) {
1931 "You give a sermon on the dangers of \
1932 improper bathtub caulking, but the yupple seems quite \
1933 fascinated. ~That reminds me of...~ You cringe.";
1935 if (the_spell_was == foblub_spell) {
1937 "You draw a stunning parallel between corporate \
1938 morality and monarchy ruling. The yupple's jaw drops. ~I've got \
1939 to tell my boss that,~ he says, and tries to leave his seat, \
1940 but finds himself stuck fast. Several passengers nearby \
1941 take the opportunity to remove the yupple (seat included) to \
1942 a different part of the train.";
1948 ! **************************
1950 ! **************************
1952 Object c9 "coin" class coin_class;
1953 Object c10 "coin" class coin_class;
1954 Object c11 "coin" class coin_class;
1956 ! (Some common objects associated with GUS)
1957 Object GUS_sign "Sign"
1958 with name "sign" "circular" "pole" "GUS",
1959 initial "Standing on a tall pole next to the stairs is \
1961 description "The sign reads ~GUS~, and has an arrow \
1963 found_in FROSTHAM_GUSStop ARAGAIN_GUSStop ANTHAR_GUSStop
1964 FUBLIO_GUSStop BORPHEE_GUSStop MIZNIA_GUSStop
1969 Object GUS_brochure "subway brochure" FROSTHAM_Governer1
1970 with name "brochure" "subway" "GUS",
1972 ~The Great Underground Subway~^^
1973 Adventurers who really need to get where they're going \
1974 in a hurry are going to love GUS! The new underground \
1975 high-speed rail system can be your personal ride to the \
1976 major travel points in Quendor, for just one mere zorkmid! \
1977 For Eastland travel to Frostham, Aragain and Fublio Valley, \
1978 the Purple line is at your service! For Westland travel \
1979 to New Borphee, Gurth City and Miznia, just jump on board \
1980 the Green line! And for you folks who need to get across \
1981 the Great Sea in a hurry, don't forget the Orange line, \
1982 stopping off at Aragain, Anthar and Gurth City! Remember, \
1983 there's no costs for transferring between lines either. \
1984 So don't delay, take the GUS today!",
1989 Object newspaper "newspaper" PURPLELINE_car
1990 with name "newspaper" "paper",
1991 initial "There's a discarded newspaper in a seat nearby.",
1992 description "A copy of ~The Fublio Tribune~, with \
1993 news, sports and feature sections to read about.",
1996 if (consult_words > 1)
1997 "Try reading about 'news', 'sports' or 'features'.";
1998 wn = consult_from; w1 = NextWord();
2000 'news', 'headline', 'headlines':
2001 "The news section has three major stories. \
2002 The headliner is the continued failure to resolve peace in the \
2003 Kobold war in southern Egreth. Recently, various troops have \
2004 been cut-off from the main camps by clever kobold raiding groups. \
2005 ^^A second story details the shocking death of a GUE Tech student \
2006 found in the subway tunnels in Gurth City Station, the apparent \
2007 victim of a GUS train. ~Don't know how he got in there.~ a \
2008 subway worker is quoted as saying.^^\
2009 Finally, a sad local news story about a nice couple in Fublio \
2010 valley who recently were victims of the kidnaping of their son. No \
2013 "Apparently, the golem brothers at Flathead \
2014 Stadium have amassed an amazing 322-0 win streak.";
2015 'features', 'feature':
2016 "The paper points out that culture seekers \
2017 should check out the newly discovered Leonardo Flathead \
2018 painting on exhibit at the Royal Museum.";
2019 'ads', 'classified':
2020 "~FOR SALE: A new IF game -- 'SPIRITWRAK'. \
2022 'comics', 'funnies':
2023 "No comics section. Bummer.";
2024 default: "You can't find anything in the paper about that.";
2031 ! **************************
2033 ! **************************