-
Notifications
You must be signed in to change notification settings - Fork 1
/
STARSHIP.ACH
2662 lines (1914 loc) · 61.2 KB
/
STARSHIP.ACH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# STARSHIP.ACH
#
# "Starship Solitaire" by Derek T. Jones
#
# Copyright 1995 Derek T. Jones
#
# Synopsis: The player awakes alone in a cryogenic freezer; he has been
# awakened by the computer in order to correct the course of the ship.
# But his memory suffers and he has to repair the ship before he can do so.
# This is the hidden objective.
include "intrptr"
include "lexicon"
include "shipdir"
include "starship.typ"
include "starship.lex"
keyword Windexed, Filthy
################################## The Hinter ###############################
keyword GetOut, OpenIt, LookForLatch, CallItLift, SayTheNumbers
lex hinter
full : 'hint'
hint : GetOut
hints : 0
interpret : TRUE
methods
'INTERPRET' : {
case hints +:= 1 of {
5 : write "Not very sure of yourself, are you? That's ", hints,
" hints you've asked for.\n"
10 : write "You've pretty much given up trying to figure this out ",
"yourself, haven't you?"
}
case hint of {
GetOut : write "Remember what the instructions said? When there are ",
"no visible exits, try typing \"leave\" or \"get out\"."
OpenIt : write "You'll have to open that cover before you can get out."
LookForLatch : write "The game seems to imply that there is a latch ",
"preventing the cover from opening. Why don't you look for it? ",
"Whenever you suspect a change in your surroundings, type \"look\" ",
"by itself to look around again. Be curious!"
CallItLift : write "You can call the elevator a \"lift\" for short."
SayTheNumbers : write "Are you stuck here? Well, what did the ",
"elevator say? It said \"announce\" destination, right? No other ",
"controls. Probably it operates on voice command. If \"announce\" ",
"is not a recognized verb, type \"help\" to see what is. What looks ",
"closest? Probably \"say\". So try \"say five\" or something."
} # case
} # INTERPRET
end
################################ The Freezer ###############################
large_structure coffin
desc : "glass coffin"
location : freezer
why_not : PartOfFloor
times : 3
methods
'INITIAL' : {
'START HERE' -> player
player.capacity := 3
}
'FIRSTDESC' : {
>>I am awake.
>>
>>There is nothing to see; my eyes cannot focus on anything.
>>Something is happening around me - happening to me. I feel sharp,
>>prickling pains along my arms and in my neck, and the sound of tiny
>>motors, a sense of something withdrawing from my body.
>>
>>The ceiling is too near to be a ceiling; the walls too close to be
>>walls. My breath comes faster and makes a mist on the glass cover
>>close to my face. What is this? I feel it pressing against my back,
>>my sides, my feet. I can barely move. I cannot remember anything.
>>The tiny space is filled with the smell of my own perspiration.
>>
>>Who am I...?
>>
>> Derek Jones Presents
>>
>> an Archetype Adventure
>>
>> STARSHIP SOLITAIRE
>>
>>
} # FIRSTDESC
'LONGDESC' : {
>>I'm in some kind of glass coffin. Along the inner walls are dozens of
>>tiny, motor-driven needles and catheters which seem to be presently
>>withdrawn.
}
'look' :
>>It's a glass coffin, sealed securely to the floor.
'get out of' : 'exit'
'get out' : 'exit'
'climb out of' : 'exit'
'climb out' : 'exit'
'get up' : 'exit'
'open' : message -> glass_cover
'exit' :
if glass_cover.open then
message --> large_structure
else {
case times of {
3 : {
>>I try to get out and hit my head against the tight glass cover. OUCH!
hinter.hint := OpenIt
'MENTION SELF' -> glass_cover
}
2 : {
>>Before hitting my head again, I gingerly push against the cover.
'push' -> glass_cover
if glass_cover.open then 'exit'
'MENTION SELF' -> glass_cover
}
-1 : {
>>Would you QUIT FOOLING AROUND and get me OUT of here? I feel like
>>I'm going to go crazy if I stay in here any longer!
}
default : {
>>No thanks, I don't feel like cracking my skull again. I'll wait till
>>I find some way to open that cover.
'MENTION SELF' -> glass_cover
}
} # case
times -:= 1
} # else
end
visible_part glass_cover
desc : "glass cover"
location : coffin
open : FALSE
part_of : coffin
methods
'look' : {
writes "It is presently "
if open then writes "open." else writes "closed."
if not latch.visible then {
writes " There's ", 'INDEF' -> latch,
" on the side of the cover that I "
writes "hadn't noticed before."
'MENTION' -> latch
}
write
}
'push' : 'open'
'push on' : 'push'
'push against' : 'push'
'open' :
if open then
>>It is already open.
else if latch.open then {
>>I push on the cover and open it.
open := TRUE
}
else {
>>I push on the cover but it won't budge. It rattles but won't give.
>>Like it's latched or something.
hinter.hint := LookForLatch
latch.visible := TRUE
}
end
visible_part latch
part_of : glass_cover
desc : "simple latch"
location : coffin
visible : FALSE
open : FALSE
methods
'look' : {
writes "It is presently "
if open then write "open." else write "closed."
}
'DEF' : {
visible := TRUE
"the " & desc
}
'INDEF' : {
visible := TRUE
"a " & desc
}
'open' : message --> openable
'close' : message --> openable
end
room freezer
desc : "cryogenic freezer"
methods
'fore' : decontaminant
'FIRSTDESC' : {
>>I step shakily onto the floor, which feels very cold. My feet are
>>tender and weak.
>>
>>The air is very still; I can smell the old dust. The light is dim.
>>In the ceiling above, the main lights are out and so the only light
>>comes from little strips along the junctions between the walls and
>>floor.
>>
}
'LONGDESC' : {
>>I am standing in the middle of a cavernous cryogenic freezer. There
>>are other glass coffins coming up out of the floor, just like mine.
>>From what I can tell by the tiny indicator lights along the sides, the
>>coffins are operating normally. Inside each one is a naked human
>>form, the skin alabaster white and hairy with ice crystals.
}
end
########################### The Decontaminant Chamber #####################
room decontaminant
desc : "decontaminant chamber"
methods
'aft' : freezer
'FIRSTDESC' : hinter.hint := CallItLift
'LONGDESC' : {
>>I'm in a small windowless anteroom that has very airtight doors and a
>>number of vents along the sides. It is about as big as a shower. In
>>faded letters along one wall it reads "DECONTAMINATION".
}
end
visible_part button
desc : "big red button"
location : decontaminant
methods
'look' :
>>Stenciled on it in white letters are the words "PUSH TO DECONTAMINATE".
'push on' : 'push'
'push' : {
>>With a loud hissing roar steam and antiseptic-smelling gases come
>>pouring out of the vents in the walls, scouring me off. When it
>>finishes I feel distinctly cleaner and fresher.
if elevator.locked then {
elevator.locked := FALSE
>>I hear a quiet clicking sound, and the display above the elevator
>>changes from "LOCKED" to "UNLOCKED".
}
}
end
large_structure elevator
why_not : Impossible
desc : "turbolift elevator"
syn : "turbolift|lift|elev|turbo"
level : 6
locked : TRUE
location : decontaminant
methods
'look' : {
writes "There is a display above the door that reads \""
if not locked then writes "UN"
writes "LOCKED\". Next to its door, on the side, is another display "
writes "that reads: \"LEVEL "
case level of {
1 : writes "ONE"
2 : writes "TWO"
3 : writes "THREE"
4 : writes "FOUR"
5 : writes "FIVE"
6 : writes "SIX"
default : writes "<out of order>"
}
write "\"."
}
'get into' : 'enter'
'enter' :
if locked then {
>>I move up to the doors but all that happens is that the display above
>>the elevator flashes "LOCKED" and there is a quiet beep.
}
else
message --> hollow_object
'exit' :
if location.without_air then
>>A voice says calmly, "Cannot open doors; no atmosphere at this level."
else
'exit' --> hollow_object
'FIRSTDESC' : hinter.hint := SayTheNumbers
'BRIEF' : {
>>The doors swish shut. A polite automated voice says, "Please announce
>>destination level one through six."
}
'LONGDESC' : {
>>I step into the turbolift elevator.
'BRIEF'
>>There are no visible controls or buttons of any kind.
}
end
# Numbers. These are the numbers spoken by the player in the elevator;
# they only have effect when the player is in the elevator.
class spoken_number based on object
visible : FALSE
intangible : TRUE
value : 0
full : "zero"
syn : value
level : UNDEFINED
methods
'ACCESS' : TRUE
'say' :
if player.location ~= elevator then
>>Nothing happens.
else if level = elevator.level then
write "The polite computer voice murmurs, \"You are already on level ",
full, ".\""
else {
>>There is a lurch and short whooshing sound.
elevator.level := value
elevator.location := level
'MOVE' -> elevator
}
'look' : 'get'
'get' : 'drop'
'drop' : >>That doesn't make any sense.
end
spoken_number one value : 1 full : "one" level : bridge end
spoken_number two value : 2 full : "two" level : briefing_room end
spoken_number three value : 3 full : "three" level : hall1 end
spoken_number four value : 4 full : "four" level : hall2 end
spoken_number five value : 5 full : "five" level : hall5 end
spoken_number six value : 6 full : "six" level : decontaminant end
############################ Level Five ####################################
room hall5
desc : "L-shaped hallway"
methods
'starboard' : doctors_quarters
'aft' : hall6
'BRIEF' : >>In the elevator alcove on level five.
'LONGDESC' : {
>>I'm standing in a small alcove by the elevator. A large number "5"
>>is stenciled by the doors. The lighting here, as elsewhere, is minimal.
}
end
room doctors_quarters
desc : "doctor's quarters"
methods
'port' : hall5
'LONGDESC' : {
>>I'm standing in the doctor's quarters, if the nameplate on the door is
>>correct. Dust covers everything.
}
end
sit_furniture bed
desc : "bed"
proximity : "on"
location : doctors_quarters
methods
'look' : write "It's bolted to the floor but is not flush with it; ",
"there's a little space under the bed."
'get' : >>It's bolted to the floor.
'look under' : {
if player.location = self then
writes "I bend over the side and look under the bed. "
if page.location = UNDEFINED then {
write "Aha! I find and pick up a single page."
'GO TO PLAYER' -> page
'MENTION SELF' -> page
}
else
write "I can't find anything."
}
end
readable diary
desc : "diary"
location : bed
methods
'read' : {
if not viewed then {
>>The diary seems to belong to the doctor; he has kept extensive notes
>>on his patients - which are of course the crewmembers. The paper is
>>old by now and crackles when I turn the pages. I am struck by the
>>fact that it has probably been many years since all of us went into
>>those glass coffins. Most of the entries are personal and I feel like
>>a voyeur, knowing that the writer is frozen asleep in his own glass
>>coffin, unable to stop me from reading his secrets. The last entry is
>>less personal:
>>
viewed := TRUE
}
>> "May 17, 2321 - This morning we made the last of the preparations
>> before Nap Time, as we have started to refer to the upcoming cryogenic
>> suspension. All ship's stores have been removed to the far end of the
>> ship and sealed off until arrival. The navigator has laid in our
>> course; it should not change for the next two hundred years. It seems
>> like so much can go wrong. The captain assured me that someone will
>> be awakened prematurely if any emergency arises.
>>
>> "I have warned the crew that when we awaken, our worst enemy will be
>> the memory loss, not the muscle atrophy. I have kept copious journal
>> notes to help me remember who I am; I have urged the rest of the crew
>> to do the same, but not everyone has taken me seriously. I spoke with
>> the engineer in order to ensure that the medical couch will be
>> activated along with the rest of the environmental systems in the
>> event of an emergency; whoever gets awakened can use it by simply
>> lying on it.
>>
>> "Enough chatter. I am delaying. I have shut everyone else into their
>> coffins and have watched each of them in turn close their eyes and
>> grow cold. The same awaits myself. I must go now. 'Screw my courage
>> to the sticking point' etc. See you in a couple of centuries."
if page.found then {
>>The diary is missing its third page; I think it's the page I found
>>under his bed.
}
else if notes.viewed then
>>I search the diary for page three... Crap! It's missing.
}
end
readable page
desc : "single page"
location : UNDEFINED
combo : UNDEFINED
found : FALSE
methods
'look' : >>It seems to be page three of something.
'read' : {
writes "Near the bottom are the digits "
if not combo then combo := ?9 & ?9 & "-" & ?9 & ?9 & "-" & ?9 & ?9
write combo, "."
}
end
large_structure closet
why_not : PartOfRoom
desc : "closet"
location : doctors_quarters
methods
'TRANSPARENT' : TRUE
'look' : {
>>It looks big enough to walk into. The door seems to be broken and
>>hangs open.
}
end
object geiger_counter
desc : "Geiger counter"
proper : FALSE # though it starts with uppercase
location : closet
activated : FALSE
methods
'INITIAL' : 'REGISTER' -> after
'AFTER' :
if activated then {
if (location = uranium.location or
location.location = uranium.location) and
'ACCESS' -> self
then
>>The Geiger counter is ticking loudly.
}
'look' :
if activated then
if location = uranium.location or
location.location = uranium.location
then
>>A large red light is flashing on it!
else
>>The light on the front is green.
else
>>It isn't turned on.
'turn on' : 'turn_on'
'turn_on' :
if activated then
>>It's already on.
else {
>>I turn it on.
activated := TRUE
}
'turn off' : 'turn_off'
'turn_off' :
if activated then {
>>I turn it off.
activated := FALSE
}
else
>>It isn't on.
end
readable repair_kit
desc : "bicycle repair kit"
location : closet
methods
'read' : write "On the side it says that the kit is good for repairing ",
"heavy-duty bicycle tires and other rubber or vinyl products."
end
room hall6
desc : "L-shaped hallway"
methods
'starboard' : sickbay
'fore' : hall5
'BRIEF' : >>In an L-shaped hallway.
'LONGDESC' : {
>>I'm standing in an L-shaped hallway. It is fairly narrow, made more
>>so by a number of half-buried pipes running along the aft side.
}
end
room sickbay
desc : "Sickbay"
methods
'port' : hall6
'starboard' : laboratory
'LONGDESC' : {
>>I find myself in Sickbay. Yellowed anatomy charts are hanging on the
>>wall as well as some better-preserved med school diplomas behind
>>glass. But the most prominent feature is the couch in the middle of
>>the room.
}
end
sit_furniture medical_couch
desc : "automated medical couch"
location : sickbay
found_ailment : FALSE
blindness : FALSE
methods
'INITIAL' : 'REGISTER' -> after
'AFTER' : {
if blindness then
lookV.disabled := "I'm blind... I can't see!"
else if helmet.wearing and helmet.dirty then
case helmet.dirty of {
Filthy :
lookV.disabled :=
"The faceplate is covered with dust... I can't see!"
Windexed :
lookV.disabled :=
"There's muddy Windex and dust on the faceplate... I can't see!"
}
else
lookV.disabled := UNDEFINED
if player.location = self then {
found_ailment := FALSE
writes "A bright blue light from the ceiling runs up and down over me."
writes " Presently a quiet voice says, \"Diagnosing patient."
if uranium.poison > 0 then {
writes " Patient is suffering from radiation cell damage. Repairing "
writes "damaged cells."
uranium.poison := 0
found_ailment := TRUE
}
if blindness then {
writes " Patient is suffering from blindness due to damaged retinal "
writes "cells. Repairing and regenerating damaged cells."
blindness := FALSE
found_ailment := TRUE
}
if not found_ailment then
writes " Patient is not experiencing any cell damage."
writes " Continuing diagnosis.\" The vinyl mattress begins to hum "
writes "busily. Presently the voice says: \"Results:"
if gatorade.filled then {
writes " Patient suffering from mild amnesia due to lack of "
writes "monopotassium phosphate. Current supply of phosphates is "
writes "exhausted; cannot cure."
found_ailment := TRUE
}
if player.capacity < 5 then {
writes " Patient's muscles appear to be atrophied from lack of use. "
writes "No specific cell damage; cannot cure. Recommend exercise."
found_ailment := TRUE
}
if not found_ailment then
writes " Patient appears to be in good health."
write "\""
}
}
'lay on' : 'sit on'
'lie on' : 'sit on'
'lie down on' : 'sit on'
'lay down on' : 'sit on'
end
room laboratory
desc : "medical laboratory"
methods
'port' : sickbay
'LONGDESC' : {
>>I am standing in what appears to be the medical laboratory, in an
>>adjoining room off of Sickbay.
}
end
furniture lab_bench
why_not : PartOfFloor
location : laboratory
desc : "laboratory bench"
proximity : "at"
methods
'get' : >>It's bolted to the floor.
'look' :
if player.location = self then
message --> furniture
else {
write "I walk up to it to get a closer look."
'enter'
}
end
container gunk_beaker
contents : "gunk"
holder : "beaker"
location : lab_bench
filled : TRUE
methods
'drink' :
if filled then {
>>I drink down the gunk... Hm... OUCH! OW! AAAaaaarrgghh... I feel like
>>my body is exploding... oof... urgh... every muscle in my body feels
>>like it's on fire...
>>The sensation subsides.
>>Suddenly I feel about three times stronger...
player.capacity := 9 - (3 - player.capacity)
filled := FALSE
}
else
>>It's empty.
'look' :
if filled then
>>It's filled with some kind of noxious gunk.
else
>>It's empty but appears to have a sickening blue residue around the inside.
end
readable notes
desc : "scribbled notes"
location : lab_bench
methods
'INDEF' : "some " & desc
'read' : {
>>The notes are illegible in most cases. They do seem to indicate that
>>the gunk in the beaker is some sort of experimental muscle
>>regenerator. The paper crackles as I turn it; a page or two
>>crumples into flakes of yellowed confetti. Near the end is a quick
>>scribble that seems to say "Combination on p. 3 of diary".
viewed := TRUE
}
end
large_structure locker
desc : "locker"
location : laboratory
open : FALSE
locked : TRUE
methods
'TRANSPARENT' : open
'look' : {
writes "It's a large steel locker with a door about the size of ",
"a closet door; it is probably big enough to enter. The door ",
"has a combination lock set into the center. "
message --> openable
}
'open' :
if locked then {
writes "It has a combination lock. What's the combination? "
if read = page.combo then {
>>That did it!
locked := FALSE
message --> openable
}
else {
>>That's not working.
if notes.viewed and not page.found then
>>Guess I'd better find page three of that diary, huh?
}
}
else
message --> object
'close' : {
message --> object
if not locked then {
>>As the door swings shut, I hear the lock click.
locked := TRUE
}
}
'exit' :
if locked then
>>There's no handle on the inside!
else
message --> hollow_object
end
wearable lead_coveralls
desc : "pair of lead-lined coveralls"
location : locker
pronoun : "them"
size : 5
methods
'look' : {
>>They are bright yellow with a big black radiation symbol on the front;
>>they look pretty heavy.
}
end
object soldering_iron
desc : "soldering iron"
location : locker
end
################################# Level Four ###############################
room hall2
desc : "L-shaped hallway"
methods
'starboard' : hall3
'aft' : hall4
'BRIEF' : >>I'm in the L-shaped elevator alcove on level four.
'LONGDESC' : {
>>I am standing in a very dusty L-shaped hallway; the number "4" is
>>stenciled just outside the doors.
}
end
room hall3
desc : "narrow circular curving hallway"
methods
'port' : hall2
'aft' : antechamber
'LONGDESC': {
>>I am halfway through a narrow, circular hallway that reminds me of a
>>hamster tube. There are rungs on the side which are inconveniently
>>placed at the present but which could be useful during zero gravity.
}
end
room hall4
desc : "long, tall hexagonal hallway"
methods
'fore' : hall2
'starboard' : storage_room
'aft' : engine_room
'LONGDESC' : {
>>I'm in the middle of a hallway that is hexagonal in shape except that
>>it is stretched vertically. The walls, ceiling and floor are made out
>>of a metal grid whose holes are loose enough for me to hook my fingers
>>into. Beyond the grid I can see that this hallway is enclosed in a
>>larger circular tube; thick bundled wires run lengthwise through the
>>spaces between the tube and the grid. The lighting, which comes from
>>bright flourescent tubes beneath the floor of the grid, is harsh and
>>casts a wobbly shadow above me.
}
end
readable sign
desc : "sign"
location : storage_room
methods
'read' :
>>It reads, "DANGEROUS RADIATION LEVELS".
'get' :
>>Not quite possible; it's painted onto the wall.
end
room storage_room
desc : "storage room"