-
Notifications
You must be signed in to change notification settings - Fork 19
/
READ_ME_TOO
143 lines (116 loc) · 5.94 KB
/
READ_ME_TOO
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
Changes incorporated in wander as of April 9, 1980
SCCS Versions are:
wander:
wander.c 2.12 with ftell() last mod 4/9/80 -- (c) psl 1978
wanddef.h 1.5 last mod 4/9/80 -- (c) psl 1978
wandglb.c 2.7 last mod 4/9/80 -- (c) psl 1978
wanddef.h 1.5 last mod 4/9/80 -- (c) psl 1978
MISCELLANEOUS CHANGES
Save & Restore
Save makes a snapshot of the game; restore reads in the saved
snapshot and restores the game to the state it was when the snapshot
was taken. In order to provide reasonable speed the saved file is a
lot bigger than I'd like; too bad. The default name for a save file
is the world name with the extension ".save" tagged on; e.g. for "a3"
"a3.save" is created. Both save and restore can take an argument which
will be used for the file name. Invocation of Wander with the "-r"
flag will cause the save file to be read in. "wander -r a3" will
restore from "a3.save"; "wander -rfoo" will restore from "foo".
All
Whenever the word "all" is encountered as the second recognized
word of user input on a line it will be macro expanded. This expansion
replaces the word "all" with each object in the current location including
objects being carried. E.g. "drop all" may expand to "drop keys; drop net;
drop leaflet".
Re-start
The built-in command "re-start" has been renamed "init" for fairly
arbitrary reasons.
NEW VARIABLES
INP_N1 & INP_N2
These two variables are set to the values of the first and second
"numbers" input in a command by the user. The corresponding word entries
are set to the symbols "N1" and "N2" so that the following work:
"take N1 apples" v+4.%INP_N1% m="You now have %4% apples."
"add N1 and N2" v=22.%INP_N1% v+22.%INP_N2% m="Sum is %22%"
NUM_MOVES & NUM_PLACES
These are the counters that the program keeps. Combined with
%NOW_ET% they make for interesting score algorithms.
BREVITY
This variable allows you to control the frequency of long versus
short descriptions. The following values produce the specified results:
-1 Long description only once; the first time a loc is visited
0 No long descriptions; always short
1 All long descriptions; never short
2 Long descriptions every second time
3 Long descriptions every third time
and so on, up to a maximum period of 127. See "a3.misc" for simple usage.
LOC_VIEW
This variable controls the source for the long description and is
useful for such things as turning off a lamp...
0 Use the descriptions from the current location
1 Use the description from location 1
2 Use the description from location 2
and so on. Typically you might set up a dummy location 200 which has, as
its short and long descriptions: "It is pitch black -- You can't see a thing."
OBJ_VIEW
This variable controls visibility of objects in a very simple
way; if it's zero you can see fine, if it's non-zero all objects are
invisible.
NEW ACTION FIELDS
The "Been" Fields
Seven new test/result field types have been added to test and/or
manipulate the counters that show whether the user has "been" to a given
location and how long it has "been" since the long description was given
for that location. For each location an 8-bit counter is kept that is
zero until the location has been seen. After that it is incremented each
time a description is given and then set to 1 each time a long description
is given. The following fields access these counters:
b?12.0 true if counter for loc 12 is zero, (never been there)
b~12.0 true if counter for loc 12 is non-zero (been there)
b<12.2 true if counter for loc 12 less that 2 (so what?)
b>12.0 true if counter for loc 12 greater than 0
b=12.0 set counter for loc 12 to zero
b+12.1 add one to the counter for loc 12
b-12.3 subtract three from counter for loc 12
CHANGES THAT AFFECT THE .misc FILE
Object Flags
A third field has been added to the definition of words in the
.misc file. This field contains a flag that specifies how the word is
to be output and essentially assumes that the word is an object, (as I
shall assume here by calling it "object" rather than "word"). It is
expected that this field will only rarely be needed so I haven't gone
to great lengths to make it nice cosmetically. The field contains a
number that is the sum of the following options:
1 The object is singular even though it ends with an 's'
2 The object is plural even though it doesn't end with an 's'
4 The object already contains an article; don't supply one
8 The object is a complete description as is; don't use
constructions like "there is a *** here" for it.
16 This form of the object is to be used ONLY when describing
it in a location, not when being carried, dropped, etc.
Note that 1 and 2 need only rarely be used, e.g. if you have a 'princess'
she will be described as "some princess" unless you specify a 1, but seldom
do such examples seem to arise.
Note also that 8 usually requires 16, (i.e. 24), whereas 16 doesn't always
require 8.
If you use the 16 code be sure that it is the zeroth synonym and that there
is a first synonym following it that can be used for the carrying, dropping,
etc. cases, e.g.:
"A weeping damsel huddles before you" 0 0 24
tear-soaked\ damsel 1
damsel 2
The second synonym here, (damsel), is to allow the user to say "drop damsel";
without it the user would have to say "drop tear-soaked" or the like.
Words Section
The words section of the .misc file can no longer be headed by
a "verbs" or "objects" line; the line must start with the word "words".
However it can say "words verbs" or "words (objects)" and there can be
any number of such sections.
Location Field in Word Definitions
To have an object start out "on-the-user", i.e. being carried,
the location field must contain a "-1". Previously all that was required
was the "-". E.g.
Wander\ Instruction\ Guide 0 -1
I think that's it; but these are just the changes since version 2.10 or so
of wander.c. The documentation should have a margin character next to
all recent changes...