forked from Davidslv/rogue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrogue.html.in
1060 lines (985 loc) · 34.9 KB
/
rogue.html.in
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
<!-- Creator : groff version 1.18.1 -->
<!-- CreationDate: Sat Dec 31 10:58:15 2005 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title></title>
</head>
<body>
<h1 align=center><b>A Guide to the Dungeons of Doom</b></h1>
<h2 align=center><i>Michael C. Toy<br>
Kenneth C. R. C. Arnold</i></h2>
<h3 align=center>Computer Systems Research
Group<br>
Department of Electrical Engineering and Computer
Science<br>
University of California<br>
Berkeley, California 94720</h3>
<h2 align=center><i>ABSTRACT</i></h2>
<blockquote>
<blockquote>
<p align="justify"><b><i><font size="2">Rogue</font></i></b><font size="2"> is a visual CRT based fantasy game which runs under the
UNIX† timesharing system. This paper describes how
to play rogue, and gives a few hints for those who might otherwise get
lost in the Dungeons of Doom. </font></p>
</blockquote>
</blockquote>
<h2 align="justify"><b>1. Introduction</b></h2>
<p align="justify">You have just finished your years as a
student at the local fighter’s guild. After much
practice and sweat you have finally completed your training
and are ready to embark upon a perilous adventure. As a test
of your skills, the local guildmasters have sent you into
the Dungeons of Doom. Your task is to return with the Amulet
of Yendor. Your reward for the completion of this task will
be a full membership in the local guild. In addition, you
are allowed to keep all the loot you bring back from the
dungeons.</p>
<p align="justify">In preparation for your journey, you are
given an enchanted mace, a bow, and a quiver of arrows taken
from a dragon’s hoard in the far off Dark Mountains.
You are also outfitted with elf-crafted armor and given
enough food to reach the dungeons. You say goodbye to family
and friends for what may be the last time and head up the
road.</p>
<p align="justify">You set out on your way to the dungeons and
after several days of uneventful travel, you see the
ancient ruins that mark the entrance to the Dungeons of
Doom. It is late at night, so you make camp at the entrance
and spend the night sleeping under the open skies. In the
morning you gather your weapons, put on your armor, eat what
is almost your last food, and enter the
dungeons.</p>
<h2 align="justify"><b>2. What is going on here?</b></h2>
<p align="justify">You have just begun a game of rogue. Your
goal is to grab as much treasure as you can, find the Amulet
of Yendor, and get out of the Dungeons of Doom alive. On the
screen, a map of where you have been and what you have seen
on the current dungeon level is kept. As you explore more of
the level, it appears on the screen in front of
you.</p>
<p align="justify">Rogue differs from most computer fantasy
games in that it is screen oriented. Commands are all one or
two keystrokes<sup>1 </sup>and the
results of your commands are displayed graphically on the
screen rather than being explained in words<sup>2</sup>.</p>
<p align="justify">Another major difference between rogue and other computer fantasy games is that once you have solved
all the puzzles in a standard fantasy game, it has lost most
of its excitement and it ceases to be fun. Rogue, on the
other hand, generates a new dungeon every time you play it
and even the author finds it an entertaining and exciting
game.</p>
<h2 align="justify"><b>3. What do all those things on the screen mean?</b></h2>
<p align="justify">In order to understand what is going on in
rogue you have to first get some grasp of what rogue is
doing with the screen. The rogue screen is intended to
replace the “You can see ...” descriptions of
standard fantasy games. Figure 1 is a sample of what a
rogue screen might look like.</p>
<div align="center">
<table><tr><td>
<pre>
____________________________________________________________
------------
|..........+
|..@....]..|
|....B.....|
|..........|
-----+------
Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0
Figure 1
____________________________________________________________
</pre>
</td></tr></table>
</div>
<h3 align="justify"><b>3.1. The bottom line</b></h3>
<p align="justify">At the bottom line of the screen are a few
pieces of cryptic information describing your current
status. Here is an explanation of what these things
mean:<br>
</p>
<table border="0" width="100%" id="table1" cellspacing="3" cellpadding="3">
<tr>
<td width="7%" valign="top">
<p align="justify">Level</td>
<td>
<p align="justify">This number indicates how deep you
have gone in the dungeon. It starts at one and goes up as
you go deeper into the dungeon.</td>
</tr>
<tr>
<td valign="top">
<p align="justify">Gold</td>
<td>
<p align="justify">The number of gold pieces you have managed to find and keep with you
so far.</td>
</tr>
<tr>
<td valign="top">
<p align="justify">Hp</td>
<td>
<p align="justify">Your current and maximum health points.
Health points indicate how much damage you can take before
you die. The more you get hit in a fight, the lower they
get. You can regain health points by resting. The number in
parentheses is the maximum number your health points can
reach.</p>
</td>
</tr>
<tr>
<td valign="top">
<p align="justify">Str</td>
<td>
<p align="justify">Your current strength and maximum ever
strength. This can be any integer less than or equal to 31,
or greater than or equal to three. The higher the num- ber,
the stronger you are. The number in the parentheses is the
maximum strength you have attained so far this
game.</p>
</td>
</tr>
<tr>
<td valign="top">
<p align="justify">Arm</td>
<td>
<p align="justify">Your current armor protection. This
number indicates how effective your armor is in stopping
blows from unfriendly creatures. The higher this number is,
the more effective the armor.</p>
</td>
</tr>
<tr>
<td valign="top">
<p align="justify">Exp</td>
<td>
<p align="justify">These two numbers give your current
experience level and experience points. As you do things,
you gain experience points. At certain experience point
totals, you gain an experience level. The more experienced
you are, the better you are able to fight and to withstand
magical attacks.</p>
</td>
</tr>
</table>
<p align="justify"> </p>
<h3 align="justify"><b>3.2. The top line</b></h3>
<p align="justify">The top line of the screen is reserved for
printing messages that describe things that are impossible
to represent visually. If you see a “--More--”
on the top line, this means that rogue wants to print
another message on the screen, but it wants to make certain
that you have read the one that is there first. To read the
next message, just type a space.</p>
<h3 align="justify"><b>3.3. The rest of the screen</b></h3>
<p align="justify">The rest of the screen is the map of the
level as you have explored it so far. Each symbol on the
screen repre- sents something. Here is a list of what the
various symbols mean:</p>
<table border="0" width="100%" id="table2" cellspacing="3" cellpadding="3">
<tr>
<td width="7%" align="center" valign="top">
<p align="justify">@</td>
<td>
<p align="justify">This symbol represents you, the adventurer.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">- |</td>
<td>
<p align="justify">These symbols represent the walls of rooms.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">+</td>
<td>
<p align="justify">A door to/from a room.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">.</td>
<td>
<p align="justify">The floor of a room.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">#</td>
<td>
<p align="justify">The floor of a passage between rooms.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">*</td>
<td>
<p align="justify">A pile or pot of gold.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">)</td>
<td>
<p align="justify">A weapon of some sort.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">]</td>
<td>
<p align="justify">A piece of armor.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">!</td>
<td>
<p align="justify">A flask containing a magic potion.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">?</td>
<td>
<p align="justify">A piece of paper, usually a magic scroll.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">=</td>
<td>
<p align="justify">A ring with magic properties</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">/</td>
<td>
<p align="justify">A magical staff or wand</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">^</td>
<td>
<p align="justify">A trap, watch out for these.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">%</td>
<td>
<p align="justify">A staircase to other levels</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">:</td>
<td>
<p align="justify">A piece of food.</td>
</tr>
<tr>
<td align="center" valign="top">
<p align="justify">A-Z</td>
<td>
<p align="justify">The uppercase letters represent the various
inhabitants of the Dungeons of Doom. Watch out, they can be nasty and
vicious.</td>
</tr>
</table>
<h2 align="justify"><b>4. Commands</b></h2>
<p align="justify">Commands are given to rogue by typing one or two characters.
Most commands can be preceded by a count to repeat them (e.g. typing “10s” will
do ten searches). Commands for which counts make no sense have the count
ignored. To cancel a count or a prefix, type <ESCAPE> . The list of commands is
rather long, but it can be read at any time during the game
with the “?” command. Here it is for reference,
with a short explanation of each
command.<br>
</p>
<div align="center">
<table border="0" cellspacing="3" cellpadding="3" id="table3">
<tr>
<td valign="top" align="left">
<p>?</td>
<td align="justify">
<p align="justify">The help command. Asks for a character to give help
on. If you type a “*”, it will list all the commands, otherwise it will
explain what the character you typed does.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>/</td>
<td align="justify">
<p>This is the “What is that on the screen?” command. A
“/” followed by any character that you see on the level, will tell you
what that character is. For instance, typing “/@” will tell you that the
“@” symbol represents you, the player.</td>
</tr>
<tr>
<td nowrap align="left" valign="top" colspan="2">
<p>h, H, ^H</td>
</tr>
<tr>
<td align="left" valign="top">
</td>
<td align="justify">
<p align="justify">Move left. You move one space to the left. If you use
upper case “h”, you will continue to move left until you run into
something. This works for all movement commands (e.g. “L” means run in
direction “l”) If you use the “control” “h”, you will continue moving in
the specified direction until you pass something interesting or run into
a wall. You should experiment with this, since it is a very useful
command, but very difficult to describe. This also works for all movement
commands.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>j</td>
<td align="justify">
<p align="justify">Move down.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>k</td>
<td align="justify">
<p align="justify">Move up.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>l</td>
<td align="justify">
<p align="justify">Move right.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>y</td>
<td align="justify">
<p align="justify">Move diagonally up and left.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>u</td>
<td align="justify">
<p align="justify">Move diagonally up and right.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>b</td>
<td align="justify">
<p align="justify">Move diagonally down and left.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>n</td>
<td align="justify">
<p align="justify">Move diagonally down and right.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>t</td>
<td align="justify">
<p align="justify">Throw an object. This is a prefix command. When followed with a
direction it throws an object in the specified direction. (e.g. type
“th” to throw something to the
left.)</td>
</tr>
<tr>
<td align="left" valign="top">
<p>f</td>
<td align="justify">
<p align="justify">Fight until someone dies. When followed with a direction this will force you to fight the creature
in that direction until either you or it bites the big
one.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>m</td>
<td align="justify">
<p align="justify">Move onto something without picking it up. This will move you one
space in the direction you specify and, if there is an object there you
can pick up, it won’t do it.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>z</td>
<td align="justify">
<p align="justify">Zap prefix. Point a staff or wand in a given direction and fire it.
Even non-directional staves must be pointed in some direction to be
used.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>^</td>
<td align="justify">
<p align="justify">Identify trap command. If a trap is on your map and you can’t
remember what type it is, you can get rogue to remind you by getting
next to it and typing “^” followed by the direction that would move
you on top of it.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>s</td>
<td align="justify">
<p align="justify">Search for traps and secret doors. Examine each space immediately
adjacent to you for the existence of a trap or secret door. There is a
large chance that even if there is something there, you won’t find it,
so you might have to search a while before you find something.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>></td>
<td align="justify">
<p>Climb down a staircase to the next level. Not surprisingly, this can only be done if you are
standing on staircase.</td>
</tr>
<tr>
<td align="left" valign="top">
<p><</td>
<td align="justify">
<p>Climb up a staircase to the level above. This can’t be done without
the Amulet of Yendor
in your possession.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>.</td>
<td align="justify">
<p>Rest. This is the “do nothing” command. This is good for waiting and
healing.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>,</td>
<td align="justify">
<p>Pick up something. This picks up whatever you are currently standing on, if you are
standing on anything at all.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>i</td>
<td align="justify">
<p>Inventory. List what you are carrying in
your pack.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>I</td>
<td align="justify">
<p>Selective inventory. Tells you what a single item in your pack is.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>q</td>
<td align="justify">
<p align="justify">Quaff one of the potions you are carrying.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>r</td>
<td align="justify">
<p align="justify">Read one of the scrolls in your pack.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>e</td>
<td align="justify">
<p align="justify">Eat food from your pack.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>w</td>
<td align="justify">
<p align="justify">Wield a weapon. Take a weapon out of your pack and carry it for use
in combat, replacing the one you are currently using (if any).</td>
</tr>
<tr>
<td align="left" valign="top">
<p>W</td>
<td align="justify">
<p align="justify">Wear armor. You can only wear one suit of armor at a time. This
takes extra time.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>T</td>
<td align="justify">
<p align="justify">Take armor off. You can’t remove armor that is cursed. This takes
extra time.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>P</td>
<td align="justify">
<p align="justify">Put on a ring. You can wear only two rings at a time (one on each
hand). If you aren’t wearing any rings, this command will ask you which
hand you want to wear it on, otherwise, it will place it on the unused
hand. The program assumes that you wield your sword in your right hand.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>R</td>
<td align="justify">
<p align="justify">Remove a ring. If you are only wearing one ring, this command takes
it off. If you are wearing two, it will ask you which one you wish to
remove,</td>
</tr>
<tr>
<td align="left" valign="top">
<p>d</td>
<td align="justify">
<p align="justify">Drop an object. Take something out of your pack and leave it lying
on the floor. Only one object can occupy each space. You cannot drop a
cursed object at all if you are wielding or wearing it.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>c</td>
<td align="justify">
<p align="justify">Call an object something. If you have a type of object in your pack
which you wish to remember something about, you can use the call command
to give a name to that type of object. This is usually used when you
figure out what a potion, scroll, ring, or staff is after you pick it
up, or when you want to remember which of those swords in your pack you
were wielding.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>D</td>
<td align="justify">
<p align="justify">Print out which things you’ve discovered something about. This
command will ask you what type of thing you are interested in. If you
type the character for a given type of object (<i>e.g.</i>
“!” for potion) it will tell you which kinds of
that type of object you’ve discovered (<i>i.e.</i>, figured out what they
are). This command works for
potions, scrolls, rings, and staves and
wands.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>o</td>
<td align="justify">
<p align="justify">Examine and set options. This command is further explained in the
section on options.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>^R</td>
<td align="justify">
<p>Redraws the screen. Useful if spurious messages or transmission
errors have messed up the display.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>^P</td>
<td align="justify">
<p align="justify">Print last message. Useful when a message disappears before you can
read it. This only repeats the last message that was not a mistyped
command so that you don’t loose anything by accidentally typing the
wrong character instead of ^P.</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">
<p><ESCAPE></td>
</tr>
<tr>
<td align="left" valign="top">
</td>
<td align="justify">
Cancel a command, prefix, or count.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>!</td>
<td align="justify">
<p align="justify">Escape to a shell for some commands.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>Q</td>
<td align="justify">
<p align="justify">Quit. Leave the game.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>S</td>
<td align="justify">
<p align="justify">Save the current game in a file. It will ask you whether you wish to
use the default save file.
<i>Caveat</i>: Rogue won’t let you start up a copy of
a saved game, and it removes the save file as soon as you
start up a restored game. This is to prevent people from
saving a game just before a dangerous position and then
restart- ing it if they die. To restore a saved game, give
the file name as an argument to rogue. As
in</p>
<p align="justify">% rogue
<i>save_file</i></p>
<p align="justify">To restart from the default save file (see below), run </p>
<p align="justify">% rogue -r</td>
</tr>
<tr>
<td align="left" valign="top">
<p>v</td>
<td align="justify">
<p align="justify">Prints the program version number.</td>
</tr>
<tr>
<td align="left" valign="top">
<p>)</td>
<td align="justify">
<p align="justify">Print the weapon you are currently wielding</td>
</tr>
<tr>
<td height="28" align="left" valign="top">
<p>]</td>
<td height="28" align="justify">
<p align="justify">Print the armor you are currently wearing</td>
</tr>
<tr>
<td align="left" valign="top">
<p>=</td>
<td align="justify">
<p align="justify">Print the rings you are currently wearing</td>
</tr>
<tr>
<td align="left" valign="top">
<p>@</td>
<td align="justify">
<p align="justify">Reprint the status line on the message line</td>
</tr>
</table>
</div>
<h2 align="justify"><b>5. Rooms</b></h2>
<p align="justify">Rooms in the dungeons are either lit or
dark. If you walk into a lit room, the entire room will be
drawn on the screen as soon as you enter. If you walk into a
dark room, it will only be displayed as you explore it. Upon
leaving a room, all monsters inside the room are erased from
the screen. In the darkness you can only see one space in
all directions around you. A corridor is always
dark.</p>
<h2 align="justify"><b>6. Fighting</b></h2>
<p align="justify">If you see a monster and you wish to fight
it, just attempt to run into it. Many times a monster you
find will mind its own business unless you attack it. It is
often the case that discretion is the better part of
valor.</p>
<h2 align="justify"><b>7. Objects you can find</b></h2>
<p align="justify">When you find something in the dungeon, it
is common to want to pick the object up. This is
accomplished in rogue by walking over the object (unless you
use the “m” prefix, see above). If you are
carrying too many things, the pro- gram will tell you and it
won’t pick up the object, other- wise it will add it
to your pack and tell you what you just picked
up.</p>
<p align="justify">Many of the commands that operate on
objects must prompt you to find out which object you want to
use. If you change your mind and don’t want to do that
command after all, just type an
<ESCAPE> and the command will be
aborted.</p>
<p align="justify">Some objects, like armor and weapons, are
easily dif- ferentiated. Others, like scrolls and potions,
are given labels which vary according to type. During a
game, any two of the same kind of object with the same label
are the same type. However, the labels will vary from game
to game.</p>
<p align="justify">When you use one of these labeled objects,
if its effect is obvious, rogue will remember what it is for
you. If it’s effect isn’t extremely obvious you
will be asked what you want to scribble on it so you will
recognize it later, or you can use the “call”
command (see above).</p>
<h3 align="justify"><b>7.1. Weapons</b></h3>
<p align="justify">Some weapons, like arrows, come in bunches,
but most come one at a time. In order to use a weapon, you
must wield it. To fire an arrow out of a bow, you must first
wield the bow, then throw the arrow. You can only wield one
weapon at a time, but you can’t change weapons if the
one you are currently wielding is cursed. The commands to
use weapons are “w” (wield) and “t”
(throw).</p>
<h3 align="justify"><b>7.2. Armor</b></h3>
<p align="justify">There are various sorts of armor lying around in the dungeon. Some of it is
enchanted, some is cursed, and some is just normal. Different armor types have
different armor protection. The higher the armor protection, the more protection the armor affords against the blows of
monsters. Here is a list of the various armor types and
their normal armor protection:</p>
<div align="center">
<table border="1" cellspacing="3" cellpadding="3" id="table4" style="border-collapse: collapse">
<tr>
<th><i>Type</i></th>
<th><i>Protection</i></th>
</tr>
<tr>
<td>None</td>
<td align="center">0</td>
</tr>
<tr>
<td>Leather armor</td>
<td align="center">2</td>
</tr>
<tr>
<td>Studded leather / Ring mail</td>
<td align="center">3</td>
</tr>
<tr>
<td>Scale mail </td>
<td align="center">4</td>
</tr>
<tr>
<td>Chain mail </td>
<td align="center">5</td>
</tr>
<tr>
<td>Banded mail / Splint mail</td>
<td align="center">6</td>
</tr>
<tr>
<td>Plate mail </td>
<td align="center">7</td>
</tr>
</table>
<p> </div>
<p align="justify">
If a piece of armor is enchanted, its
armor protection will be higher than normal. If a suit of
armor is cursed, its armor protection will be lower, and you
will not be able to remove it. However, not all armor with a
protection that is lower than normal is
cursed.
</p>
<p align="justify">The commands to use weapons are
“W” (wear) and “T” (take
off).</p>
<h3 align="justify">
<b>7.3. Scrolls</b></h3>
<p align="justify">Scrolls come with titles in an unknown tongue<sup>3</sup>. After you read a scroll, it
disappears from your pack. The com mand to use a
scroll is “r” (read).</p>
<h3 align="justify">
<b>7.4. Potions</b>
</h3>
<p align="justify">Potions are labeled by the color of the
liquid inside the flask. They disappear after being quaffed.
The command to use a scroll is “q”
(quaff).</p>
<h3 align="justify"><b>7.5. Staves and Wands</b></h3>
<p align="justify">Staves and wands do the same kinds of
things. Staves are identified by a type of wood; wands by a
type of metal or bone. They are generally things you want to
do to some- thing over a long distance, so you must point
them at what you wish to affect to use them. Some staves are
not affected by the direction they are pointed, though.
Staves come with multiple magic charges, the number being
random, and when they are used up, the staff is just a piece
of wood or metal.</p>
<p align="justify">The command to use a wand or staff is
“z” (zap)</p>
<h3 align="justify"><b>7.6. Rings</b></h3>
<p align="justify">Rings are very useful items, since they are
relatively permanent magic, unlike the usually fleeting
effects of potions, scrolls, and staves. Of course, the bad
rings are also more powerful. Most rings also cause you to
use up food more rapidly, the rate varying with the type of
ring. Rings are differentiated by their stone settings. The
com- mands to use rings are “P” (put on) and
“R” (remove).</p>
<h3 align="justify"><b>7.7. Food</b></h3>
<p align="justify">Food is necessary to keep you going. If you
go too long without eating you will faint, and eventually
die of starvation. The command to use food is
“e” (eat).</p>
<h2 align="justify"><b>8. Options</b></h2>
<p align="justify">Due to variations in personal tastes and
conceptions of the way rogue should do things, there are a
set of options you can set that cause rogue to behave in
various different ways.</p>
<h3 align="justify"><b>8.1 Setting the options</b></h3>
<p align="justify">There are two ways to set the options. The
first is with the “o” command of rogue; the
second is with the “ROGUEOPTS” environment
variable.</p>
<h3 align="justify"><b>8.1.1. Using the ‘o’ command</b></h3>
<p align="justify">When you type “o” in rogue, it
clears the screen and displays the current settings for all
the options. It then places the cursor by the value of the
first option and waits for you to type. You can type a
<RETURN> which means to go to the next
option, a “−” which means to go to the
previous option, an <ESCAPE> which
means to return to the game, or you can give the option a
value. For boolean options this merely involves typing
“t” for true or “f” for false. For
string options, type the new value followed by a
<RETURN> .</p>
<h3 align="justify"><b>8.1.2. Using the ROGUEOPTS variable</b></h3>
<p align="justify">The ROGUEOPTS variable is a string
containing a comma separated list of initial values for the
various options. Boolean variables can be turned on by
listing their name or turned off by putting a
“no” in front of the name. Thus to set up an
environment variable so that <b>jump</b> is on, <b>terse</b>
is off, and the <b>name</b> is set to “Blue
Meanie”, use the command</p>
<p align="justify">% setenv ROGUEOPTS
"jump,noterse,name=Blue Meanie"<sup>4</sup></p>
<h3 align="justify"><b>8.2. Option list</b></h3>
<p align="justify">Here is a list of the options and an
explanation of what each one is for. The default value for
each is enclosed in square brackets. For character string
options, input over fifty characters will be
ignored.</p>
<p align="justify"><b>terse</b>
[<i>noterse</i>]</p>
<blockquote>
<p align="justify">
Useful for those who are tired of the
sometimes lengthy messages of rogue. This is a useful option
for playing on slow terminals, so this option defaults to
<i>terse</i> if you are on a slow (1200 baud or under)
terminal.</p>
</blockquote>
<p align="justify"><b>jump</b>
[<i>nojump</i>]</p>
<blockquote>
<p align="justify">If this option is set, running moves will
not be displayed until you reach the end of the move. This
saves considerable cpu and display time. This option
defaults to <i>jump</i> if you are using a slow
terminal.</p>
</blockquote>
<p align="justify"><b>flush</b>
[<i>noflush</i>]</p>
<blockquote>
<p align="justify">All typeahead is thrown away after each round of battle. This is useful for those who type far
ahead and then watch in dismay as a Bat kills
them.</p>
</blockquote>
<p align="justify"><b>seefloor</b>
[<i>seefloor</i>]</p>
<blockquote>
<p align="justify">Display the floor around you on the screen
as you move through dark rooms. Due to the amount of
characters generated, this option defaults to
<i>noseefloor</i> if you are using a slow
terminal.</p>
</blockquote>
<p align="justify"><b>passgo</b>
[<i>nopassgo</i>]</p>
<blockquote>
<p align="justify">Follow turnings in passageways. If you run
in a pas- sage and you run into stone or a wall, rogue will
see if it can turn to the right or left. If it can only turn
one way, it will turn that way. If it can turn either or
neither, it will stop. This algorithm can sometimes lead to
slightly confusing occurrences which is why it defaults to
<i>nopassgo</i>.</p>
</blockquote>
<p align="justify"><b>tombstone</b>
[<i>tombstone</i>]</p>
<blockquote>
<p align="justify">Print out the tombstone at the end if you
get killed. This is nice but slow, so you can turn it off if
you like.</p>
</blockquote>
<p align="justify"><b>inven</b>
[<i>overwrite</i>]</p>
<blockquote>
<p align="justify">Inventory type. This can have one of three
values: <i>overwrite</i>, <i>slow</i>, or <i>clear</i>. With
<i>overwrite</i> the top lines of the map are overwritten
with the list when inventory is requested or when
“Which item do you wish to <b>. . .</b>? ”
questions are answered with a “*”. How- ever, if
the list is longer than a screenful, the screen is cleared.
With <i>slow</i>, lists are displayed one item at a time on
the top of the screen, and with <i>clear</i>, the screen is
cleared, the list is displayed, and then the dungeon level
is re-displayed. Due to speed considerations, <i>clear</i>
is the default for terminals without clear-to-end-of-line
capabilities.</p>
</blockquote>
<p align="justify"><b>name</b> [account
name]</p>
<blockquote>
<p align="justify">This is the name of your character. It is
used if you get on the top ten scorer’s
list.</p>
</blockquote>
<p align="justify"><b>fruit</b>
[<i>slime-mold</i>]</p>
<blockquote>
<p align="justify">This should hold the name of a fruit that
you enjoy eating. It is basically a whimsy that rogue uses
in a couple of places.</p>
</blockquote>
<p align="justify"><b>file</b>
[<i>~/rogue.save</i>]</p>
<blockquote>
<p align="justify">The default file name for saving the game.
If your phone is hung up by accident, rogue will
automatically save the game in this file. The file name may
start with the special character “~” which
expands to be your home directory.</p>
</blockquote>
<h2 align="justify"><b>9. Scoring</b></h2>
<p align="justify">Rogue usually maintains a list of the top
scoring people or scores on your machine. Depending on how
it is set up, it can post either the top scores or the top
players. In the latter case, each account on the machine can
post only one non-winning score on this list. If you score
higher than someone else on this list, or better your previous score on the list, you will be inserted in the proper
place under your current name. How many scores are kept can
also be set up by whoever installs it on your
machine.</p>
<p align="justify">If you quit the game, you get out with all