2 ! ******************************************************************
5 ! Add-on file for SPIRITWRAK
6 ! -- Contains Great Underground Subway system (trains and tunnels
7 ! and various denizens)
9 ! SPIRITWRAK is free software; you can redistribute it and/or modify
10 ! it under the terms of the GNU General Public License as published by
11 ! the Free Software Foundation; either version 3 of the License, or
12 ! (at your option) any later version.
14 ! SPIRITWRAK is distributed in the hope that it will be useful, but
15 ! WITHOUT ANY WARRANTY; without even the implied warranty of
16 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ! General Public License for more details.
19 ! You should have received a copy of the GNU General Public License
20 ! along with SPIRITWRAK. If not, see <https://www.gnu.org/licenses/>.
21 ! ******************************************************************
23 ! First, some globals (sigh)
24 ! Two for each train line -- one indicates 'direction' of train,
25 ! the second indicates the current 'location' of train.
26 global PURPLELINE_dir = 0; ! 0 North, 1 South
27 global PURPLELINE_loc = 1; ! 1-10, frostham to fublio
28 global ORANGELINE_dir = 0; ! 0 West, 1 East
29 global ORANGELINE_loc = 1; ! 1-10, Aragain to Gurth
30 global GREENLINE_dir = 0; ! 0 North, 1 South
31 global GREENLINE_loc = 1; ! 1-10, New Borphee to Miznia
33 ! (Subway stops in each city are named as part of the city in
34 ! caps, concat'd with "_GUSStation". All are (of course)
37 Object FROSTHAM_GUSStation "Frostham GUS Station"
39 print "You are standing ";
40 if (self hasnt general) {
42 "in a dimly lit underground \
43 chamber. There seems \
44 to be a much larger room to the southeast, which is \
45 unfortunately almost completely blocked by a long metal \
46 barricade and gate. Stairs lead up to the outside.";
48 "at the entrance to the Frostham \
49 Great Underground Subway (GUS) station. The train \
50 platform lies past the gate to the southeast, or \
51 stairs lead up into the city.";
53 name "stairs" "platform",
54 u_to FROSTHAM_GUSStop,
59 if (FG_Gate_slot hasnt general)
60 "A strange buzzing noise sounds as you try \
61 to pass through the gate, and an invisible \
62 force blocks your way!";
64 give FG_Gate_slot ~general;
65 print "You saunter through the apparently open gate.^";
72 Object ARAGAIN_GUSStation "Aragain GUS Station"
73 with description "You are standing at the entrance to the Aragain \
74 Great Underground Subway (GUS) station. The train \
75 platform lies past the gate to the southeast, or \
76 stairs lead up into the city. Some lettering on the \
77 wall reads ~TRANSFER STATION~.",
78 name "stairs" "platform",
84 if (AG_Gate_slot hasnt general)
85 "A strange buzzing noise sounds as you try \
86 to pass through the gate, and an invisible \
87 force blocks your way!";
89 give AG_Gate_slot ~general;
90 print "You saunter through the apparently open gate.^";
96 Object FUBLIO_GUSStation "Fublio Valley GUS Station"
97 with description "You are standing at the entrance to the \
99 Great Underground Subway (GUS) station. The train \
100 platform lies past the gate to the southeast, or \
101 stairs lead up into the city.",
102 name "stairs" "platform",
108 if (FublioG_Gate_slot hasnt general)
109 "A strange buzzing noise sounds as you try \
110 to pass through the gate, and an invisible \
111 force blocks your way!";
113 give FublioG_Gate_slot ~general;
114 print "You saunter through the apparently open gate.^";
120 ! (Orange stations - one)
121 Object ANTHAR_GUSStation "Greater Anthar GUS Station"
122 with description "You are standing at the entrance to the Greater Anthar \
123 Great Underground Subway (GUS) station. The train \
124 platform lies past the gate to the south, or \
125 stairs lead up into the city.",
126 name "stairs" "platform",
132 if (AntharG_Gate_slot hasnt general)
133 "A strange buzzing noise sounds as you try \
134 to pass through the gate, and an invisible \
135 force blocks your way!";
137 give AntharG_Gate_slot ~general;
138 print "You saunter through the apparently open gate.^";
144 ! (Green stations - three)
145 Object GURTH_GUSStation "Gurth City GUS Station"
146 with description "You are standing at the entrance to the Gurth City \
147 Great Underground Subway (GUS) station. The train \
148 platform lies past the gate to the southwest, or \
149 stairs lead up into the city. Some lettering on the \
150 wall reads ~TRANSFER STATION~.",
151 name "stairs" "platform",
157 print "You are greeted by a light rain as you leave the \
160 if (GurthG_Gate hasnt general) ! note diff
161 "A strange buzzing noise sounds as you try \
162 to pass through the gate, and an invisible \
163 force blocks your way!";
165 give GurthG_Gate ~general;
166 print "You saunter through the apparently open gate.^";
172 Object BORPHEE_GUSStation "New Borphee GUS Station"
173 with description "You are standing at the entrance to the New Borphee \
174 Great Underground Subway (GUS) station. The train \
175 platform lies past the gate to the southwest, or \
176 stairs lead up into the city.",
177 name "stairs" "platform",
178 u_to BORPHEE_GUSStop,
183 print "You enter the city and are nearly \
184 flattened by crowds rushing past.^";
186 if (BorpheeG_Gate_slot hasnt general)
187 "A strange buzzing noise sounds as you try \
188 to pass through the gate, and an invisible \
189 force blocks your way!";
191 give BorpheeG_Gate_slot ~general;
192 print "You saunter through the apparently open gate.^";
198 Object MIZNIA_GUSStation "Miznia GUS Station"
199 with description "You are standing at the entrance to the Miznia \
200 Great Underground Subway (GUS) station. The train \
201 platform lies past the gate to the southwest, or \
202 stairs lead up into the city.",
203 name "stairs" "platform",
209 if (MizniaG_Gate_slot hasnt general)
210 "A strange buzzing noise sounds as you try \
211 to pass through the gate, and an invisible \
212 force blocks your way!";
214 give MizniaG_Gate_slot ~general;
215 print "You saunter through the apparently open gate.^";
221 Object FROSTHAM_GUSPlatform "Frostham Train Platform"
223 print "You are standing in a long underground \
224 chamber. The east side of the room contains a \
225 lowered set of what appear to be train tracks. \
226 The tracks run south into a dark tunnel. \
227 Along one wall painted lettering \
228 reads ~FROSTHAM STATION~. \
229 A short walkway leads northwest, to a metal fence";
230 if (self has general)
231 ". There is a large train car sitting on the tracks \
237 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
239 in_to PURPLELINE_car,
242 ! if (noun == nw_obj)
243 ! print "You saunter through the apparently open gate.^";
244 if ((self hasnt general) &&
245 (noun == e_obj or in_obj))
246 "You'd fall onto the tracks if you went that way.";
249 if (self hasnt general) {
251 if (i==1 or 2 or 3) {
254 PURPLELINE_dir = 1; ! will be heading south
255 "^Suddenly, from the south, a train emerges from \
256 the tunnel! It pulls to a screeching halt, the \
257 doors open, and several people rush out and exit \
261 "^You hear a distant rumbling noise from the south.";
264 if (self has general) {
265 if (PURPLELINE_loc == 2) {
267 "^The train doors close, and the train rolls off \
272 "^A few exit the train, and hurry out \
273 of the station. You hear a voice from inside the \
274 train say, ~Doors will be closing, please stand \
283 ! (Classes for gates and slots)
285 with name "gate" "metal",
286 initial "A metal gate bisects the fence.",
288 door_to FROSTHAM_GUSPlatform,
290 Climb, JumpOver: "A subway worker yells ~Hey pal, no fare-jumpers!";
291 Open: "It looks like it's already open.";
292 Close: "There doesn't seem to be anything to close.";
293 Enter: "You'll have to walk in the appropriate direction to go through it.";
295 description "It's an odd metal gate that only comes up to about \
296 your waist. Odder still is the fact that there's \
297 no door on the gate, just two metal sides",
298 has static door transparent open;
299 Class GUS_Gate_Slot_Class
300 with name "slot" "metal" "thin" "small",
301 description "You see a rather small, thin slot that seems to be \
302 almost cut into one of the metal sides of the gate.",
304 LetGo: "There's no way to get anything out of that tiny, \
307 if (noun has is_coin) {
309 remove noun; ! collection
310 "The coin slides into the slot with a satisfying thunk.";
312 "It doesn't look like that's going to fit into the slot.";
315 has scenery container open;
318 Object FG_Gate "platform gate"
319 class GUS_Gate_Class,
321 if (location==FROSTHAM_GUSStation)
322 "A metal gate bisects the fence to the southeast.";
323 "A metal gate bisects the fence to the northwest.";
326 if (location==FROSTHAM_GUSStation)
331 if (location==FROSTHAM_GUSStation)
332 return FROSTHAM_GUSPlatform;
333 return FROSTHAM_GUSStation;
337 if (location==FROSTHAM_GUSStation) <<Go se_obj>>;
341 print "It's an odd metal gate that only comes up to about \
342 your waist. Odder still is the fact that there's \
343 no door on the gate, just two metal sides";
344 if (location == FROSTHAM_GUSStation)
345 ". There's a thin slot on one of the sides.";
348 found_in FROSTHAM_GUSStation FROSTHAM_GUSPlatform,
353 Object FG_Gate_slot "metal slot" FG_Gate
354 class GUS_Gate_Slot_Class
356 if (location == FROSTHAM_GUSPlatform)
357 "You can't see any such thing.";
358 if (location == FROSTHAM_GUSStation)
359 "You see a rather small, thin slot that seems to be \
360 almost cut into one of the metal sides of the gate.";
363 if (location == FROSTHAM_GUSPlatform)
364 "You can't see any such thing.";
369 Object AG_Gate "platform gate"
372 if (location==ARAGAIN_GUSStation)
373 "A metal gate bisects the fence to the southeast.";
374 "A metal gate bisects the fence to the northwest.";
377 if (location==ARAGAIN_GUSStation)
382 if (location==ARAGAIN_GUSStation)
383 return ARAGAIN_GUSPlatform;
384 return ARAGAIN_GUSStation;
388 if (location==FROSTHAM_GUSStation) <<Go se_obj>>;
392 print "It's an odd metal gate that only comes up to about \
393 your waist. Odder still is the fact that there's \
394 no door on the gate, just two metal sides";
395 if (location == ARAGAIN_GUSStation)
396 ". There's a thin slot on one of the sides.";
399 found_in ARAGAIN_GUSStation ARAGAIN_GUSPlatform,
402 Object AG_Gate_slot "metal slot" AG_Gate
403 class GUS_Gate_Slot_Class
405 if (location == ARAGAIN_GUSPlatform)
406 "You can't see any such thing.";
407 if (location == ARAGAIN_GUSStation)
408 "You see a rather small, thin slot that seems to be \
409 almost cut into one of the metal sides of the gate.";
412 if (location == ARAGAIN_GUSPlatform)
413 "You can't see any such thing.";
418 Object FublioG_Gate "platform gate"
421 if (location==FUBLIO_GUSStation)
422 "A metal gate bisects the fence to the southeast.";
423 "A metal gate bisects the fence to the northwest.";
426 if (location==FUBLIO_GUSStation)
431 if (location==FUBLIO_GUSStation)
432 return FUBLIO_GUSPlatform;
433 return FUBLIO_GUSStation;
437 if (location==FUBLIO_GUSStation) <<Go se_obj>>;
441 print "It's an odd metal gate that only comes up to about \
442 your waist. Odder still is the fact that there's \
443 no door on the gate, just two metal sides";
444 if (location == FUBLIO_GUSStation)
445 ". There's a thin slot on one of the sides.";
448 found_in FUBLIO_GUSStation FUBLIO_GUSPlatform,
451 Object FublioG_Gate_slot "metal slot" FublioG_Gate
452 class GUS_Gate_Slot_Class
454 if (location == FUBLIO_GUSStation)
455 "You see a rather small, thin slot that seems to be \
456 almost cut into one of the metal sides of the gate.";
457 !! See if this works instead...
458 "You can't see any such thing.";
461 if (location == FUBLIO_GUSPlatform)
462 "You can't see any such thing.";
467 Object AntharG_Gate "platform gate"
470 if (location==ANTHAR_GUSStation)
471 "A metal gate bisects the fence to the south.";
472 "A metal gate bisects the fence to the north.";
475 if (location==ANTHAR_GUSStation)
480 if (location==ANTHAR_GUSStation)
481 return ANTHAR_GUSPlatform;
482 return ANTHAR_GUSStation;
486 if (location==ANTHAR_GUSStation) <<Go s_obj>>;
490 print "It's an odd metal gate that only comes up to about \
491 your waist. Odder still is the fact that there's \
492 no door on the gate, just two metal sides";
493 if (location == ANTHAR_GUSStation)
494 ". There's a thin slot on one of the sides.";
497 found_in ANTHAR_GUSStation ANTHAR_GUSPlatform,
500 Object AntharG_Gate_slot "metal slot" AntharG_Gate
501 class GUS_Gate_Slot_Class
503 if (location == ANTHAR_GUSStation)
504 "You see a rather small, thin slot that seems to be \
505 almost cut into one of the metal sides of the gate.";
506 "You can't see any such thing.";
509 if (location == ANTHAR_GUSPlatform)
510 "You can't see any such thing.";
516 Object BorpheeG_Gate "platform gate"
519 if (location==BORPHEE_GUSStation)
520 "A metal gate bisects the fence to the southwest.";
521 "A metal gate bisects the fence to the northeast.";
524 if (location==BORPHEE_GUSStation)
529 if (location==BORPHEE_GUSStation)
530 return BORPHEE_GUSPlatform;
531 return BORPHEE_GUSStation;
535 if (location == BORPHEE_GUSStation) <<Go sw_obj>>;
539 print "It's an odd metal gate that only comes up to about \
540 your waist. Odder still is the fact that there's \
541 no door on the gate, just two metal sides";
542 if (location == BORPHEE_GUSStation)
543 ". There's a thin slot on one of the sides.";
546 found_in BORPHEE_GUSStation BORPHEE_GUSPlatform,
549 Object BorpheeG_Gate_slot "metal slot" BorpheeG_Gate
550 class GUS_Gate_Slot_Class
552 if (location == BORPHEE_GUSStation)
553 "You see a rather small, thin slot that seems to be \
554 almost cut into one of the metal sides of the gate.";
555 "You can't see any such thing.";
558 if (location == BORPHEE_GUSPlatform)
559 "You can't see any such thing.";
563 ! (NOTE: Gurth is different, read: broken)
564 Object GurthG_Gate "platform gate"
567 if (location==GURTH_GUSStation)
568 "A metal gate bisects the fence to the southwest.";
569 "A metal gate bisects the fence to the northeast.";
572 if (location==GURTH_GUSStation)
577 if (location==GURTH_GUSStation)
578 return GURTH_GUSPlatform;
579 return GURTH_GUSStation;
582 Enter: if (location == GURTH_GUSStation) <<Go sw_obj>>;
586 print "It's an odd metal gate that only comes up to about \
587 your waist. Odder still is the fact that there's \
588 no door on the gate, just two metal sides";
589 if (location == GURTH_GUSStation)
590 ". There's a thin slot on one of the sides that looks \
594 found_in GURTH_GUSStation GURTH_GUSPlatform,
597 Object GurthG_Gate_slot "metal slot" GurthG_Gate
598 class GUS_Gate_Slot_Class
601 if (location == GURTH_GUSStation)
602 "You see a rather small, thin slot that seems to be \
603 almost cut into one of the metal sides of the gate. \
604 It looks slightly dented.";
605 "You can't see any such thing.";
608 if (location == GURTH_GUSPlatform)
609 "You can't see any such thing.";
611 if (noun has is_coin) {
614 "The coin slides into the slot, but you hear a strange click \
615 almost immediately.^^\
616 A subway nymph suddenly appears. She looks at the gate \
617 disapprovingly. ~Broken again? I thought they \
618 just fixed it. Well, fine.~ She seems rather annoyed. \
619 ~We'll get someone to look at it, eventually. Bye!~ She \
623 if (self hasnt general)
624 "You poke the wire in the slot for a bit, but nothing \
626 if (self has general) {
629 give GurthG_Gate general;
630 "You poke around in the slot, and manage to free something! \
631 There is a solid thunk-like noise.";
634 "It doesn't look like that's going to fit into the slot.";
638 Object MizniaG_Gate "platform gate"
641 if (location==MIZNIA_GUSStation)
642 "A metal gate bisects the fence to the southwest.";
643 "A metal gate bisects the fence to the northeast.";
646 if (location==MIZNIA_GUSStation)
651 if (location==MIZNIA_GUSStation)
652 return MIZNIA_GUSPlatform;
653 return MIZNIA_GUSStation;
656 Enter: if (location==MIZNIA_GUSStation) <<Go sw_obj>>;
660 print "It's an odd metal gate that only comes up to about \
661 your waist. Odder still is the fact that there's \
662 no door on the gate, just two metal sides";
663 if (location == MIZNIA_GUSStation)
664 ". There's a thin slot on one of the sides.";
667 found_in MIZNIA_GUSStation MIZNIA_GUSPlatform,
670 Object MizniaG_Gate_slot "metal slot" MizniaG_Gate
671 class GUS_Gate_Slot_Class
673 if (location == MIZNIA_GUSStation)
674 "You see a rather small, thin slot that seems to be \
675 almost cut into one of the metal sides of the gate.";
676 "You can't see any such thing.";
679 if (location==MIZNIA_GUSPlatform)
680 "You can't see any such thing.";
686 !Object FS_Platform_sign2 "laminated paper" FROSTHAM_GUSPlatform
687 ! with name "paper" "laminated" "safety",
688 ! initial "A small stiff-looking piece of paper is attached to the west wall.",
689 ! description "The paper reads: ^^\
690 ! GREAT UNDERGROUND SUBWAY STATION RULES:^
691 ! 1) No going onto tracks.^
692 ! 2) No going into tunnels on foot unless authorized.",
695 Object train_tracks "train tracks"
696 with name "tracks" "train",
697 description "A pair of large metal train tracks.",
698 found_in FROSTHAM_GUSPlatform ARAGAIN_GUSPlatform FUBLIO_GUSPlatform
699 ARAGAIN_GUSPlatform2,
703 Object ARAGAIN_GUSPlatform "Aragain Train Platform"
705 print "You are standing in a long underground \
706 chamber. The east side of the room contains a \
707 lowered set of what appear to be train tracks. \
708 The tracks run north and south into dark tunnels. \
709 Along one wall painted lettering \
710 reads ~ARAGAIN STATION~. \
711 A short walkway leads northwest, to a metal fence. \
712 There is also a stairway down here";
713 if (self has general)
714 ". In addition, there is a large train car sitting on the tracks \
718 name "tunnel" "tunnels" "stairway",
720 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
721 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
723 d_to ARAGAIN_GUSPlatform2,
724 in_to PURPLELINE_car,
727 ! if (noun == nw_obj)
728 ! print "You saunter through the apparently open gate.^";
729 if ((self hasnt general) &&
730 (noun == e_obj or in_obj))
731 "You'd fall onto the tracks if you went that way.";
734 if (self hasnt general) {
736 if (i==1 or 3 or 5) {
739 PURPLELINE_dir = 1; ! will be heading south
740 "^Suddenly, from the north, a train emerges from \
741 the tunnel! It pulls to a screeching halt, the \
742 doors open, and several people rush out and exit \
745 if (i==2 or 4 or 6) {
748 PURPLELINE_dir = 0; ! will be heading north
749 "^Suddenly, from the south, a train emerges from \
750 the tunnel! It pulls to a screeching halt, the \
751 doors open, and several people rush out and exit \
755 "^You hear a distant rumbling noise from the north.";
757 "^You hear a distant rumbling noise from the south.";
760 if (self has general) {
761 if (PURPLELINE_loc == 6) {
763 "^The train doors close, and the train rolls off.";
767 "^A few exit the train, and hurry out \
768 of the station. You hear a voice from inside the \
769 train say, ~Doors will be closing, please stand \
777 Object ARAGAIN_GUSPlatform2 "Aragain Train Platform (lower)"
779 print "You are standing in a long underground \
780 chamber. The south side of the room contains a \
781 lowered set of what appear to be train tracks. \
782 The tracks run west into a dark tunnel. \
783 Along one wall painted lettering \
784 reads ~ARAGAIN STATION~. \
785 A set of stairs leads up out of the gloom";
786 if (self has general)
787 ". There is a large train car sitting on the tracks \
791 name "tunnel" "stairs",
792 w_to "A helpful subway worker says ~Hey pal, get outa there!~",
794 in_to ORANGELINE_car,
795 u_to ARAGAIN_GUSPlatform,
798 if ((self hasnt general) &&
799 (noun == s_obj or in_obj))
800 "You'd fall onto the tracks if you went that way.";
803 if (self hasnt general) {
805 if (i==1 or 3 or 5) {
808 ORANGELINE_dir = 0; ! will be heading west
809 "^Suddenly, from the west, a train emerges from \
810 the tunnel! It pulls to a screeching halt, the \
811 doors open, and several people rush out and up \
815 "^You hear a distant rumbling noise from the west.";
818 if (self has general) {
819 if (ORANGELINE_loc == 10) {
821 "^The train doors close, and the train heads off \
826 "^A few people exit the train, and hurry up the stairs. \
827 You hear a voice from inside the \
828 train say, ~Doors will be closing, please stand \
837 Object FUBLIO_GUSPlatform "Fublio Valley Train Platform"
839 print "You are standing in a long underground \
840 chamber. The east side of the room contains a \
841 lowered set of what appear to be train tracks. \
842 The tracks run north into a dark tunnel. \
843 Along one wall painted lettering \
844 reads ~FUBLIO VALLEY STATION~. \
845 A short walkway leads northwest, to a metal fence";
846 if (self has general)
847 ". There is a large train car sitting on the tracks \
853 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
855 in_to PURPLELINE_car,
858 ! if (noun == nw_obj)
859 ! print "You saunter through the apparently open gate.^";
860 if ((self hasnt general) &&
861 (noun == e_obj or in_obj))
862 "You'd fall onto the tracks if you went that way.";
865 if (self hasnt general) {
867 if (i==1 or 3 or 4) {
870 PURPLELINE_dir = 0; ! will be heading north
871 "^Suddenly, from the north, a train emerges from \
872 the tunnel! It pulls to a screeching halt, the \
873 doors open, and several people rush out and exit \
877 "^You hear a distant rumbling noise from the north.";
880 if (self has general) {
881 if (PURPLELINE_loc == 9) {
883 "^The train doors close, and the train rolls off \
888 "^A few people exit the train, and hurry out \
889 of the station. You hear a voice from inside the \
890 train say, ~Doors will be closing, please stand \
899 ! *** Orange line platforms
902 Object GURTH_GUSPlatform2 "Gurth City Train Platform (lower)"
904 print "You are standing in a long underground \
905 chamber. The south side of the room contains a \
906 lowered set of what appear to be train tracks. \
907 The tracks run east into a dark tunnel. \
908 Along one wall painted lettering \
909 reads ~GURTH CITY STATION~. \
910 A set of stairs leads up out of the gloom";
911 if (self has general)
912 ". There is a large train car sitting on the tracks \
916 name "tunnel" "stairs",
917 e_to "A helpful subway worker says ~Hey pal, get outa there!~",
919 in_to ORANGELINE_car,
920 u_to GURTH_GUSPlatform,
923 if ((self hasnt general) &&
924 (noun == s_obj or in_obj))
925 "You'd fall onto the tracks if you went that way.";
928 if (self hasnt general) {
930 if (i==1 or 2 or 4) {
933 ORANGELINE_dir = 1; ! will be heading east
934 "^Suddenly, from the east, a train emerges from \
935 the tunnel! It pulls to a screeching halt, the \
936 doors open, and several people rush out and up \
940 "^You hear a distant rumbling noise from the east.";
943 if (self has general) {
944 if (ORANGELINE_loc == 2) {
946 "^The train doors close, and the train heads off \
951 "^A few people exit the train, and hurry up the stairs. \
952 You hear a voice from inside the \
953 train say, ~Doors will be closing, please stand \
961 Object ANTHAR_GUSPlatform "Greater Anthar Train Platform"
963 print "You are standing in a long underground \
964 chamber. The south side of the room contains a \
965 lowered set of what appear to be train tracks. \
966 The tracks run east and west into dark tunnels. \
967 Along one wall painted lettering \
968 reads ~ANTHAR STATION~. \
969 A short walkway leads north, to a metal fence";
970 if (self has general)
971 ". There is a large train car sitting on the tracks \
975 name "tunnel" "tunnels" "walkway",
977 e_to "A helpful subway worker says ~Hey pal, get outa there!~",
978 w_to "A helpful subway worker says ~Hey pal, get outa there!~",
980 in_to ORANGELINE_car,
984 ! print "You saunter through the apparently open gate.^";
985 if ((self hasnt general) &&
986 (noun == s_obj or in_obj))
987 "You'd fall onto the tracks if you went that way.";
990 if (self hasnt general) {
992 if (i==1 or 4 or 5) {
995 ORANGELINE_dir = 1; ! will be heading east
996 "^Suddenly, from the west, a train emerges from \
997 the tunnel! It pulls to a screeching halt, the \
998 doors open, and several people rush out and exit \
1001 if (i==2 or 3 or 6) {
1004 ORANGELINE_dir = 0; ! will be heading west
1005 "^Suddenly, from the east, a train emerges from \
1006 the tunnel! It pulls to a screeching halt, the \
1007 doors open, and several people rush out and exit \
1011 "^You hear a distant rumbling noise from the east.";
1013 "^You hear a distant rumbling noise from the west.";
1016 if (self has general) {
1017 if (ORANGELINE_loc == 6) {
1019 "^The train doors close, and the train rolls off.";
1023 "^A few people exit the train, and hurry out \
1024 of the station. You hear a voice from inside the \
1025 train say, ~Doors will be closing, please stand \
1034 ! *** Green line platforms
1036 Object BORPHEE_GUSPlatform "New Borphee Train Platform"
1038 print "You are standing in a long underground \
1039 chamber. The west side of the room contains a \
1040 lowered set of what appear to be train tracks. \
1041 The tracks run south into a dark tunnel. \
1042 Along one wall painted lettering \
1043 reads ~NEW BORPHEE STATION~. \
1044 A short walkway leads northeast, to a metal fence";
1045 if (self has general)
1046 ". There is a large train car sitting on the tracks \
1050 name "tunnel" "walkway",
1051 ne_to BorpheeG_Gate,
1052 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
1054 in_to GREENLINE_car,
1057 ! if (noun == ne_obj)
1058 ! print "You saunter through the apparently open gate.^";
1059 if ((self hasnt general) &&
1060 (noun == w_obj or in_obj))
1061 "You'd fall onto the tracks if you went that way.";
1064 if (self hasnt general) {
1066 if (i==1 or 2 or 3) {
1069 GREENLINE_dir = 1; ! will be heading south
1070 "^Suddenly, from the south, a train emerges from \
1071 the tunnel! It pulls to a screeching halt, the \
1072 doors open, and several people rush out and exit \
1076 "^You hear a distant rumbling noise from the south.";
1079 if (self has general) {
1080 if (GREENLINE_loc == 2) {
1082 "^The train doors close, and the train rolls off \
1087 "^A few people exit the train, and hurry out \
1088 of the station. You hear a voice from inside the \
1089 train say, ~Doors will be closing, please stand \
1097 Object MIZNIA_GUSPlatform "Miznia Train Platform"
1099 print "You are standing in a long underground \
1100 chamber. The west side of the room contains a \
1101 lowered set of what appear to be train tracks. \
1102 The tracks run north into a dark tunnel. \
1103 Along one wall painted lettering \
1104 reads ~MIZNIA STATION~. \
1105 A short walkway leads northeast, to a metal fence";
1106 if (self has general)
1107 ". There is a large train car sitting on the tracks \
1111 name "tunnel" "walkway",
1113 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
1115 in_to GREENLINE_car,
1118 ! if (noun == ne_obj)
1119 ! print "You saunter through the apparently open gate.^";
1120 if ((self hasnt general) &&
1121 (noun == w_obj or in_obj))
1122 "You'd fall onto the tracks if you went that way.";
1125 if (self hasnt general) {
1127 if (i==1 or 2 or 3) {
1130 GREENLINE_dir = 0; ! will be heading south
1131 "^Suddenly, from the north, a train emerges from \
1132 the tunnel! It pulls to a screeching halt, the \
1133 doors open, and several people rush out and exit \
1137 "^You hear a distant rumbling noise from the north.";
1140 if (self has general) {
1141 if (GREENLINE_loc == 10) {
1143 "^The train doors close, and the train rolls off \
1148 "^A few people exit the train, and hurry out \
1149 of the station. You hear a voice from inside the \
1150 train say, ~Doors will be closing, please stand \
1158 Object GURTH_GUSPlatform "Gurth City Train Platform"
1160 print "You are standing in a long underground \
1161 chamber. The west side of the room contains a \
1162 lowered set of what appear to be train tracks. \
1163 The tracks run north and south into dark tunnels. \
1164 Along one wall painted lettering \
1165 reads ~GURTH CITY STATION~. \
1166 A short walkway leads northeast, to a metal fence. \
1167 There is also a stairway down here";
1168 if (self has general)
1169 ". There is a large train car sitting on the tracks \
1173 name "tunnel" "tunnels" "walkway" "stairway",
1175 s_to "A helpful subway worker says ~Hey pal, get outa there!~",
1176 n_to "A helpful subway worker says ~Hey pal, get outa there!~",
1178 d_to GURTH_GUSPlatform2,
1179 in_to GREENLINE_car,
1182 ! if (noun == ne_obj)
1183 ! print "You saunter through the apparently open gate.^";
1184 if ((self hasnt general) &&
1185 (noun == w_obj or in_obj))
1186 "You'd fall onto the tracks if you went that way.";
1189 if (self hasnt general) {
1194 GREENLINE_dir = 1; ! will be heading south
1195 "^Suddenly, from the north, a train emerges from \
1196 the tunnel! It pulls to a screeching halt, the \
1197 doors open, and several people rush out and exit \
1203 GREENLINE_dir = 0; ! will be heading north
1204 "^Suddenly, from the south, a train emerges from \
1205 the tunnel! It pulls to a screeching halt, the \
1206 doors open, and several people rush out and exit \
1210 "^You hear a distant rumbling noise from the north.";
1212 "^You hear a distant rumbling noise from the south.";
1215 if (self has general) {
1216 if (GREENLINE_loc == 6) {
1218 "^The train doors close, and the train rolls off.";
1222 "^A few people exit the train, and hurry out \
1223 of the station. You hear a voice from inside the \
1224 train say, ~Doors will be closing, please stand \
1232 ! **************************
1235 ! While it may seem more logical to implement the trains with
1236 ! an 'enterable' property, I decided to implement them as
1237 ! 'rooms' instead. Mainly, I did this because:
1238 ! 1) I wanted total control of the "movement" of the train.
1239 ! 2) I wanted to fill the cars with various people/things.
1240 ! 3) I wanted seats on the train :)
1241 ! Again, this is all probably possible with 'vehicles', I
1242 ! just saw things slightly differently.
1243 ! Be warned, the logic in moving the train is probably one
1244 ! of the more unfathomable things I've ever coded.
1245 ! **************************
1247 ! *** The purple line (Eastlands)
1249 Object PURPLELINE_car "Subway car"
1250 with description "You are in an underground train car. Various \
1251 people fill the train, some in uncomfortable-looking seats.",
1252 name "car" "people",
1253 w_to FROSTHAM_GUSPlatform, ! we adjust this, see below
1254 out_to FROSTHAM_GUSPlatform,
1257 if (noun == e_obj or in_obj) {
1258 ! determine boarding location, direction train was
1260 give self general; ! we're off and moving...
1261 print "^You enter the train car. The doors slam shut behind you.^";
1262 if (PURPLELINE_loc == 1 or 2) {
1264 give FROSTHAM_GUSPlatform ~general;
1265 PURPLELINE_loc = 3; ! leaving
1267 if (PURPLELINE_loc == 5 or 6) {
1269 ! give ARAGAIN_GUSPlatform ~general;
1270 if (PURPLELINE_dir == 1) {
1279 if (PURPLELINE_loc == 9 or 10) {
1281 ! give FUBLIO_GUSPlatform ~general;
1288 if (noun == w_obj or out_obj) {
1289 if (self has general)
1290 "The train is moving right now. Better wait til \
1291 it stops to get off.";
1293 "As you try to get off, the thug gets in your way. \
1294 ~Going somewhere, Padre?~.";
1298 ! check location of train, print appropriate msg,
1299 ! and increment location of train, given direction
1300 if (PURPLELINE_loc == 1) {
1301 ! reached Frostham, dir = S, not moving
1303 give FROSTHAM_GUSPlatform general;
1306 PURPLELINE_car.w_to = FROSTHAM_GUSPlatform;
1307 PURPLELINE_car.out_to = FROSTHAM_GUSPlatform;
1308 "^The train suddenly lurches to a stop! A voice from \
1309 somewhere overhead says ~Frostham station, watch your \
1312 if (PURPLELINE_loc == 2) {
1313 ! still in Frostham, not moving
1315 "^A voice overhead says ~Doors will be closing, please \
1318 if (PURPLELINE_loc == 3) {
1319 if (PURPLELINE_dir == 1) {
1320 ! moving away from Frostham
1322 give FROSTHAM_GUSPlatform ~general;
1324 "^The train starts to move, quickly exiting the station \
1327 if (PURPLELINE_dir == 0) {
1328 ! moving towards Frostham
1329 PURPLELINE_loc = 1; ! We will 'arrive' in Frostham next
1330 "^The train rumbles as it moves.";
1333 if (PURPLELINE_loc == 4) {
1334 if (PURPLELINE_dir == 0) {
1335 ! We're leaving Aragain
1338 give ARAGAIN_GUSPlatform ~general;
1339 "^The train starts to move, quickly exiting the station \
1342 if (PURPLELINE_dir == 1) {
1344 "^The train rumbles as it moves.";
1347 if (PURPLELINE_loc == 5) {
1348 ! reached Aragain, stop the train
1350 give ARAGAIN_GUSPlatform general;
1351 PURPLELINE_loc = 6; ! we'll be stopping for 1 turn
1352 PURPLELINE_car.w_to = ARAGAIN_GUSPlatform;
1353 PURPLELINE_car.out_to = ARAGAIN_GUSPlatform;
1354 "^The train suddenly lurches to a stop! A voice from \
1355 somewhere overhead says ~Aragain station, watch your \
1358 if (PURPLELINE_loc == 6) {
1359 ! about to leave Aragain station
1360 if (PURPLELINE_dir == 0)
1364 "^A voice overhead says ~Doors will be closing, please \
1367 if (PURPLELINE_loc == 7) {
1368 if (PURPLELINE_dir == 1) {
1369 ! We're leaving Aragain
1372 give ARAGAIN_GUSPlatform ~general;
1373 "^The train starts to move, quickly exiting the station \
1376 if (PURPLELINE_dir == 0) {
1377 PURPLELINE_loc = 5; ! we will arrive in Aragain shortly...
1378 "^The train rumbles as it moves.";
1381 if (PURPLELINE_loc == 8) {
1382 if (PURPLELINE_dir == 0) {
1383 ! we're leaving Fublio
1386 give FUBLIO_GUSPlatform ~general;
1387 "^The train starts to move, quickly exiting the station \
1390 if (PURPLELINE_dir == 1) {
1391 PURPLELINE_loc = 10; ! will arrive in Fublio (BACKWARDS!!)
1392 "^The train rumbles as it moves.";
1395 if (PURPLELINE_loc == 9) {
1396 ! still waiting in Fublio
1398 "^A voice overhead says ~Doors will be closing, please \
1401 if (PURPLELINE_loc == 10) {
1402 ! arriving in Fublio
1404 PURPLELINE_dir = 0; ! north
1406 give FUBLIO_GUSPlatform general;
1407 PURPLELINE_car.w_to = FUBLIO_GUSPlatform;
1408 PURPLELINE_car.out_to = FUBLIO_GUSPlatform;
1409 "^The train suddenly lurches to a stop! A voice from \
1410 somewhere overhead says ~Fublio station, watch your \
1416 Class Train_Car_Seat_Class
1417 with name "seat" "seats",
1418 description "There seem to be a few seats that haven't been taken.",
1422 "As you attempt to grab an open seat, someone rudely \
1425 has scenery enterable;
1428 Object PURPLELINE_car_seats "subway seat" PURPLELINE_car
1429 class Train_Car_Seat_Class
1432 if (self hasnt general) {
1435 "Good fortune is your friend! You notice a \
1436 forgotten coin stuck in a seat crack, and fend off two \
1437 passengers to grab it.";
1443 ! *** ORANGE LINE CAR (Gurth to Aragain)
1446 Object ORANGELINE_car "Subway car"
1447 with description "You are in an underground train car. Various \
1448 people fill the train, some in uncomfortable-looking seats.",
1449 name "car" "people",
1450 n_to ANTHAR_GUSPlatform, ! we adjust this, see below
1451 out_to ANTHAR_GUSPlatform,
1454 if (noun == s_obj or in_obj) {
1455 ! determine boarding location, direction train was
1457 give self general; ! we're off and moving...
1458 print "^You squeeze onto the train car. The doors close behind you.^";
1459 if (ORANGELINE_loc == 1 or 2) {
1461 give GURTH_GUSPlatform2 ~general;
1462 ORANGELINE_loc = 3; ! leaving
1464 if (ORANGELINE_loc == 5 or 6) {
1466 give ANTHAR_GUSPlatform ~general;
1467 if (ORANGELINE_dir == 1) {
1476 if (ORANGELINE_loc == 9 or 10) {
1478 give ARAGAIN_GUSPlatform2 ~general;
1485 if (noun == n_obj or out_obj) {
1486 if (self has general)
1487 "The train is moving right now. Better wait til \
1488 it stops to get off.";
1492 ! check location of train, print appropriate msg,
1493 ! and increment location of train, given direction
1494 if (ORANGELINE_loc == 1) {
1495 ! reached Gurth, dir = S, not moving
1497 give GURTH_GUSPlatform2 general;
1500 ORANGELINE_car.n_to = GURTH_GUSPlatform2;
1501 ORANGELINE_car.out_to = GURTH_GUSPlatform2;
1502 "^The train suddenly lurches to a stop! A voice from \
1503 somewhere overhead says ~Gurth City station, watch your \
1506 if (ORANGELINE_loc == 2) {
1507 ! still in Gurth, not moving
1509 "^A voice overhead says ~Doors will be closing, please \
1512 if (ORANGELINE_loc == 3) {
1513 if (ORANGELINE_dir == 1) {
1514 ! moving away from Gurth
1516 give GURTH_GUSPlatform2 ~general;
1518 "^The train starts to move, quickly exiting the station \
1521 if (ORANGELINE_dir == 0) {
1522 ! moving towards Gurth
1523 ORANGELINE_loc = 1; ! We will 'arrive' in Gurth next
1524 "^The train rumbles as it moves.";
1527 if (ORANGELINE_loc == 4) {
1528 if (ORANGELINE_dir == 0) {
1529 ! We're leaving Anthar
1532 give ANTHAR_GUSPlatform ~general;
1533 "^The train starts to move, quickly exiting the station \
1536 if (ORANGELINE_dir == 1) {
1538 "^The train rumbles as it moves.";
1541 if (ORANGELINE_loc == 5) {
1542 ! reached Anthar, stop the train
1544 give ANTHAR_GUSPlatform general;
1545 ORANGELINE_loc = 6; ! we'll be stopping for 1 turn
1546 ORANGELINE_car.n_to = ANTHAR_GUSPlatform;
1547 ORANGELINE_car.out_to = ANTHAR_GUSPlatform;
1548 "^The train suddenly lurches to a stop! A voice from \
1549 somewhere overhead says ~Greater Anthar station, watch your \
1552 if (ORANGELINE_loc == 6) {
1553 ! about to leave Anthar station
1554 if (ORANGELINE_dir == 0)
1558 "^A voice overhead says ~Doors will be closing, please \
1561 if (ORANGELINE_loc == 7) {
1562 if (ORANGELINE_dir == 1) {
1563 ! We're leaving Anthar
1566 give ANTHAR_GUSPlatform ~general;
1567 "^The train starts to move, quickly exiting the station \
1570 if (ORANGELINE_dir == 0) {
1571 ORANGELINE_loc = 5; ! we will arrive in anthar shortly...
1572 "^The train rumbles as it moves.";
1575 if (ORANGELINE_loc == 8) {
1576 if (ORANGELINE_dir == 0) {
1577 ! we're leaving Aragain
1580 give ARAGAIN_GUSPlatform2 ~general;
1581 "^The train starts to move, quickly exiting the station \
1584 if (ORANGELINE_dir == 1) {
1585 ORANGELINE_loc = 9; ! will arrive in Aragain
1586 "^The train rumbles as it moves.";
1589 if (ORANGELINE_loc == 10) {
1590 ! still waiting in Aragain
1592 "^A voice overhead says ~Doors will be closing, please \
1595 if (ORANGELINE_loc == 9) {
1596 ! arriving in Aragain
1597 ORANGELINE_loc = 10;
1598 ORANGELINE_dir = 0; ! west
1600 give ARAGAIN_GUSPlatform2 general;
1601 ORANGELINE_car.n_to = ARAGAIN_GUSPlatform2;
1602 ORANGELINE_car.out_to = ARAGAIN_GUSPlatform2;
1603 "^The train suddenly lurches to a stop! A voice from \
1604 somewhere overhead says ~Aragain station, watch your \
1610 Object ORANGELINE_car_seats "subway seat" ORANGELINE_car
1611 class Train_Car_Seat_Class
1614 if (self hasnt general) {
1617 "Good fortune is your friend! You notice a \
1618 forgotten coin stuck in a seat crack, and fend off two \
1619 passengers to grab it.";
1625 ! *** GREEN LINE (Borphee to Miznia)
1627 Object GREENLINE_car "Subway car"
1628 with description "You are in an underground train car. Various \
1629 people fill the train, some in uncomfortable-looking seats.",
1630 name "car" "people",
1631 e_to BORPHEE_GUSPlatform, ! we adjust this, see below
1632 out_to BORPHEE_GUSPlatform,
1635 if (noun == w_obj or in_obj) {
1636 ! determine boarding location, direction train was
1638 give self general; ! we're off and moving
1639 print "^You shove your way onto train car. The doors close behind you.^";
1640 if (GREENLINE_loc == 1 or 2) {
1642 give BORPHEE_GUSPlatform ~general;
1643 GREENLINE_loc = 3; ! leaving
1645 if (GREENLINE_loc == 5 or 6) {
1647 give GURTH_GUSPlatform ~general;
1648 if (GREENLINE_dir == 1) {
1657 if (GREENLINE_loc == 9 or 10) {
1659 give MIZNIA_GUSPlatform ~general;
1666 if (noun == e_obj or out_obj) {
1667 if (self has general)
1668 "The train is moving right now. Better wait til \
1669 it stops to get off.";
1671 "As you try to get off, the yupple jumps up and gets in your \
1672 way. ~Wait, wait, we have so much to talk about!~.";
1676 ! check location of train, print appropriate msg,
1677 ! and increment location of train, given direction
1678 if (GREENLINE_loc == 1) {
1679 ! reached Borphee, dir = S, not moving
1681 give BORPHEE_GUSPlatform general;
1684 GREENLINE_car.e_to = BORPHEE_GUSPlatform;
1685 GREENLINE_car.out_to = BORPHEE_GUSPlatform;
1686 "^The train suddenly lurches to a stop! A voice from \
1687 somewhere overhead says ~New Borphee station, watch your \
1690 if (GREENLINE_loc == 2) {
1691 ! still in Borphee, not moving
1693 "^A voice overhead says ~Doors will be closing, please \
1696 if (GREENLINE_loc == 3) {
1697 if (GREENLINE_dir == 1) {
1698 ! moving away from Borphee
1700 give BORPHEE_GUSPlatform ~general;
1702 "^The train starts to move, quickly exiting the station \
1705 if (GREENLINE_dir == 0) {
1706 ! moving towards BORPHEE
1708 "^The train rumbles as it moves.";
1711 if (GREENLINE_loc == 4) {
1712 if (GREENLINE_dir == 0) {
1713 ! We're leaving gurth
1716 give GURTH_GUSPlatform ~general;
1717 "^The train starts to move, quickly exiting the station \
1720 if (GREENLINE_dir == 1) {
1722 "^The train rumbles as it moves.";
1725 if (GREENLINE_loc == 5) {
1726 ! reached Gurth, stop the train
1728 give GURTH_GUSPlatform general;
1729 GREENLINE_loc = 6; ! we'll be stopping for 1 turn
1730 GREENLINE_car.e_to = GURTH_GUSPlatform;
1731 GREENLINE_car.out_to = GURTH_GUSPlatform;
1732 "^The train suddenly lurches to a stop! A voice from \
1733 somewhere overhead says ~Gurth City station, watch your \
1736 if (GREENLINE_loc == 6) {
1737 ! about to leave gurth station
1738 if (GREENLINE_dir == 0)
1742 "^A voice overhead says ~Doors will be closing, please \
1745 if (GREENLINE_loc == 7) {
1746 if (GREENLINE_dir == 1) {
1747 ! We're leaving gurth
1750 give GURTH_GUSPlatform ~general;
1751 "^The train starts to move, quickly exiting the station \
1754 if (GREENLINE_dir == 0) {
1755 GREENLINE_loc = 5; ! we will arrive in gurth shortly...
1756 "^The train rumbles as it moves.";
1759 if (GREENLINE_loc == 8) {
1760 if (GREENLINE_dir == 0) {
1761 ! we're leaving Miznia
1764 give MIZNIA_GUSPlatform ~general;
1765 "^The train starts to move, quickly exiting the station \
1768 if (GREENLINE_dir == 1) {
1770 "^The train rumbles as it moves.";
1773 if (GREENLINE_loc == 10) {
1774 ! still waiting in Miznia
1776 "^A voice overhead says ~Doors will be closing, please \
1779 if (GREENLINE_loc == 9) {
1780 ! arriving in Miznia
1782 GREENLINE_dir = 0; ! north
1784 give MIZNIA_GUSPlatform general;
1785 GREENLINE_car.e_to = MIZNIA_GUSPlatform;
1786 GREENLINE_car.out_to = MIZNIA_GUSPlatform;
1787 "^The train suddenly lurches to a stop! A voice from \
1788 somewhere overhead says ~Miznia station, watch your \
1794 Object GREENLINE_car_seats "subway seat" GREENLINE_car
1795 class Train_Car_Seat_Class
1798 if (self hasnt general) {
1801 "Good fortune is your friend! You notice a \
1802 forgotten coin stuck in a seat crack, and fend off two \
1803 passengers to grab it.";
1809 ! *** A fake scenery item, to describe the subway cars from outside ***
1810 Object subway_car_fake "subway car"
1811 with name "car" "train",
1813 print "It's a rather large, sleek-looking train car, oddly colored ";
1814 if (((location==FROSTHAM_GUSPlatform) && (FROSTHAM_GUSPlatform has general)) ||
1815 ((location==ARAGAIN_GUSPlatform) && (ARAGAIN_GUSPlatform has general)) ||
1816 ((location==FUBLIO_GUSPlatform) && (FUBLIO_GUSPlatform has general)))
1818 if (((location==ANTHAR_GUSPlatform) && (ANTHAR_GUSPlatform has general)) ||
1819 ((location==ARAGAIN_GUSPlatform2) && (ARAGAIN_GUSPlatform2 has general)) ||
1820 ((location==GURTH_GUSPlatform2) && (GURTH_GUSPlatform2 has general)))
1822 if (((location==BORPHEE_GUSPlatform) && (BORPHEE_GUSPlatform has general)) ||
1823 ((location==GURTH_GUSPlatform) && (GURTH_GUSPlatform has general)) ||
1824 ((location==MIZNIA_GUSPlatform) && (MIZNIA_GUSPlatform has general)))
1826 "You can't see any such thing.";
1828 found_in FROSTHAM_GUSPlatform ARAGAIN_GUSPlatform FUBLIO_GUSPlatform
1829 ANTHAR_GUSPlatform ARAGAIN_GUSPlatform2 GURTH_GUSPlatform2
1830 BORPHEE_GUSPlatform GURTH_GUSPlatform MIZNIA_GUSPlatform,
1833 "A subway nymph suddenly appears. ~Remember passengers, to \
1834 board the subway cars, you just have to go 'in', or in the \
1835 appropriate direction of the car. Bye!~";
1839 Object metal_fence "metal fence"
1840 with name "fence" "barricade",
1841 description "It looks like a smooth metal fence.",
1844 "A subway worker yells ~Hey pal, no fare-jumpers!";
1846 found_in FROSTHAM_GUSPlatform ARAGAIN_GUSPlatform FUBLIO_GUSPlatform
1847 FROSTHAM_GUSStation ARAGAIN_GUSStation FUBLIO_GUSStation
1848 ANTHAR_GUSPlatform BORPHEE_GUSPlatform GURTH_GUSPlatform MIZNIA_GUSPlatform
1849 ANTHAR_GUSStation BORPHEE_GUSStation GURTH_GUSStation MIZNIA_GUSStation,
1853 ! **************************
1854 ! People/denizens/creatures
1855 ! **************************
1857 ! Thug, on PURPLE LINE
1858 Object thug "sinister-looking thug" PURPLELINE_car
1859 with name "thug" "hoodlum" "Davey",
1860 description "A thug, clearly. Some scrapper with an attitude, \
1861 and the desire to use it.",
1863 if (self hasnt general) {
1865 "^The sinister-looking thug notices you from the back \
1866 of the car, and approaches. ~Well, well, well,~ he \
1867 says, ~what do we have here?~.";
1871 "^The thug pokes you in the ribs.";
1873 "^The thug snarls at you. ~Hey, I'm talking to you, \
1876 "^The thug tries to act friendly, and fails.";
1878 "^The thug scowls. ~You gonna tell me the error of \
1883 "As you move to show the rake a lesson, you notice \
1884 several more thugs in the background, eyeing your every \
1885 move. The thug smiles as you back-off, cautiously.";
1886 default: "The thug is too busy being sinister.";
1890 if (the_spell_was == espnis_spell) {
1892 "You begin to extol the virtues of bedtime prayers, \
1893 and the thug starts to yawn. Soon, his eyes blink \
1894 slowly, and before long, he nods off to sleep! Two \
1895 subway police officers, hiding until now, get up the \
1896 nerve to capture the snoring thug, and drag him \
1897 off, disappearing into the throng of people.";
1899 if (the_spell_was == foblub_spell) {
1900 "You give the thug a timely sermon on the \
1901 folly of crime in a moral society. He seems momentarily \
1902 fascinated. Too bad he wasn't actually sitting in anything.";
1907 ! Annoying Yupple, on GREEN LINE (kinda a cross between a yuppie and a yipple)
1908 Object yupple "annoying yupple" GREENLINE_car
1909 with name "yupple" "annoying",
1910 description "A young yupple, immaculately dressed in a pinstripe \
1911 three-piece suit and tie.",
1914 if (self hasnt general) {
1916 "^The annoying-looking yupple notices you from the back \
1917 of the car, and approaches. ~A priest,~ he \
1918 says, ~Just the person I was looking for.~ He \
1919 squeezes into a seat near you.";
1923 "^The yupple talks unceasingly about rainfall in some \
1924 place called ~the Amazon basin~.";
1926 "^The yupple smiles brightly. ~There's so much I have to \
1929 "^The yupple drones on about the science behind large \
1930 corporate takeovers.";
1932 "^The yupple laughs -- a sound somewhat like a snoring \
1933 bloodworm. ~So the guy says, 'I thought you meant my _wife_.' \
1938 "Much as you'd like to, that's just something the \
1939 Order would probably frown upon.";
1943 if (the_spell_was == espnis_spell) {
1944 "You give a sermon on the dangers of \
1945 improper bathtub caulking, but the yupple seems quite \
1946 fascinated. ~That reminds me of...~ You cringe.";
1948 if (the_spell_was == foblub_spell) {
1950 "You draw a stunning parallel between corporate \
1951 morality and monarchy ruling. The yupple's jaw drops. ~I've got \
1952 to tell my boss that,~ he says, and tries to leave his seat, \
1953 but finds himself stuck fast. Several passengers nearby \
1954 take the opportunity to remove the yupple (seat included) to \
1955 a different part of the train.";
1961 ! **************************
1963 ! **************************
1965 Object c9 "coin" class coin_class;
1966 Object c10 "coin" class coin_class;
1967 Object c11 "coin" class coin_class;
1969 ! (Some common objects associated with GUS)
1970 Object GUS_sign "Sign"
1971 with name "sign" "circular" "pole" "GUS",
1972 initial "Standing on a tall pole next to the stairs is \
1974 description "The sign reads ~GUS~, and has an arrow \
1976 found_in FROSTHAM_GUSStop ARAGAIN_GUSStop ANTHAR_GUSStop
1977 FUBLIO_GUSStop BORPHEE_GUSStop MIZNIA_GUSStop
1982 Object GUS_brochure "subway brochure" FROSTHAM_Governer1
1983 with name "brochure" "subway" "GUS",
1985 ~The Great Underground Subway~^^
1986 Adventurers who really need to get where they're going \
1987 in a hurry are going to love GUS! The new underground \
1988 high-speed rail system can be your personal ride to the \
1989 major travel points in Quendor, for just one mere zorkmid! \
1990 For Eastland travel to Frostham, Aragain and Fublio Valley, \
1991 the Purple line is at your service! For Westland travel \
1992 to New Borphee, Gurth City and Miznia, just jump on board \
1993 the Green line! And for you folks who need to get across \
1994 the Great Sea in a hurry, don't forget the Orange line, \
1995 stopping off at Aragain, Anthar and Gurth City! Remember, \
1996 there's no costs for transferring between lines either. \
1997 So don't delay, take the GUS today!",
2002 Object newspaper "newspaper" PURPLELINE_car
2003 with name "newspaper" "paper",
2004 initial "There's a discarded newspaper in a seat nearby.",
2005 description "A copy of ~The Fublio Tribune~, with \
2006 news, sports and feature sections to read about.",
2009 if (consult_words > 1)
2010 "Try reading about 'news', 'sports' or 'features'.";
2011 wn = consult_from; w1 = NextWord();
2013 'news', 'headline', 'headlines':
2014 "The news section has three major stories. \
2015 The headliner is the continued failure to resolve peace in the \
2016 Kobold war in southern Egreth. Recently, various troops have \
2017 been cut-off from the main camps by clever kobold raiding groups. \
2018 ^^A second story details the shocking death of a GUE Tech student \
2019 found in the subway tunnels in Gurth City Station, the apparent \
2020 victim of a GUS train. ~Don't know how he got in there.~ a \
2021 subway worker is quoted as saying.^^\
2022 Finally, a sad local news story about a nice couple in Fublio \
2023 valley who recently were victims of the kidnaping of their son. No \
2026 "Apparently, the golem brothers at Flathead \
2027 Stadium have amassed an amazing 322-0 win streak.";
2028 'features', 'feature':
2029 "The paper points out that culture seekers \
2030 should check out the newly discovered Leonardo Flathead \
2031 painting on exhibit at the Royal Museum.";
2032 'ads', 'classified':
2033 "~FOR SALE: A new IF game -- 'SPIRITWRAK'. \
2035 'comics', 'funnies':
2036 "No comics section. Bummer.";
2037 default: "You can't find anything in the paper about that.";
2044 ! **************************
2046 ! **************************