|
|
1.1 root 1: VERB Debug;
2: VERB n,s,e,w,ne,se,nw,sw;
3: VERB up,down;
4: u=up; d=down;
5: north=n; south=s; east=e; west=w;
6: Looks = ($setg LOOKP TRUE)(($dobj): ($say "Huh?\n")($exit 1));
7:
8:
9: n (PREACT) = Looks;
10: s (PREACT) = Looks;
11: e (PREACT) = Looks;
12: w (PREACT) = Looks;
13:
14: nw(PREACT) = Looks;
15: ne(PREACT) = Looks;
16: sw(PREACT) = Looks;
17: se(PREACT) = Looks;
18:
19: u (PREACT) = Looks;
20: d (PREACT) = Looks;
21:
22: VERB take; VERB drop;
23: get=take; carry=take;
24: take(PREACT) = (Avail ($dobj));
25: drop(PREACT) = (Avail ($dobj));
26: ROUTINE ctake; ROUTINE cdrop;
27:
28: VERB save;
29: VERB shell;
30: VERB restore;
31: save(ACTION) = ($spec 4 0 0 0 0);
32: shell(ACTION) = ($spec 6 "/bin/csh" "-i" 0 0);
33: restore(ACTION) = ($spec 5 0 0 0 0) ($say "Restored.\n");
34:
35: DWIMD = (($not (See ($dobj) ($cont ($loc .ME)))):
36: ($rtrn 0)
37: )
38: (($not (Reach ($dobj) ($cont ($loc .ME)))):
39: ($rtrn 0)
40: )
41: (($and ($eq ($verb) take) ($eq ($loc ($dobj)) .ME)):
42: ($rtrn 0)
43: )
44: (($and ($eq ($verb) drop) ($ne ($loc ($dobj)) .ME)):
45: ($rtrn 0)
46: )
47: ($rtrn 1)
48: ;
49:
50: DWIMI = (($not (See ($iobj) ($cont ($loc .ME)))):
51: ($rtrn 0)
52: )
53: (($not (Reach ($iobj) ($cont ($loc .ME)))):
54: ($rtrn 0)
55: )
56: (($and ($eq ($verb) take) ($eq ($loc ($iobj)) .ME)):
57: ($rtrn 0)
58: )
59: (($and ($eq ($verb) drop) ($ne ($loc ($iobj)) .ME)):
60: ($rtrn 0)
61: )
62:
63: ($rtrn 1)
64: ;
65:
66:
67:
68:
69:
70: take(ACTION) = (ctake);
71: ctake =
72: (($ge ($plus ($prop .ME HAS)
73: ($prop ($dobj) WEIGH))
74: ($prop .ME HOLDS)):
75: ($say "You can't take that!\n")
76: ($exit 0)
77: )
78: ($setp .ME HAS ($plus ($prop .ME HAS) ($prop ($dobj) WEIGH) ) )
79: ($say "Taken.\n") ($move ($dobj) .ME)
80: ;
81:
82: drop(ACTION) = (cdrop);
83: cdrop = (($ne ($loc ($dobj)) .ME) :
84: ($say "You don't have it with you.\n")($exit 1))
85: ($say "Dropped.\n") ($move ($dobj) ($loc .ME))
86: ($setp .ME HAS ($minus ($prop .ME HAS)($prop ($dobj) WEIGH)))
87: ;
88:
89: VERB put;
90: put (PREACT) =
91: (($ne ($loc ($dobj)) .ME) :
92: ($say "You don't have it with you.\n")($exit 1))
93: (Avail ($iobj));
94: put(ACTION) =
95: (($not ($and ($prop ($iobj) OPEN)
96: ($prop ($iobj) OPENS))):
97: ($say "You can't seem to manage that trick.\n")($exit 0))
98: (($gt ($plus ($prop ($iobj) HAS)
99: ($prop ($dobj) WEIGH))
100: ($prop ($iobj) HOLDS)):
101: ($say "It won't fit!\n")($exit 0))
102: ($say "OK\n") ($move ($dobj) ($iobj))
103: ($setp ($iobj) HAS ($plus ($prop ($iobj) HAS) ($prop ($dobj) WEIGH)))
104: ;
105:
106:
107:
108:
109:
110:
111:
112:
113:
114: VERB open; VERB close;
115: open(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
116: close(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
117: open(ACTION) =
118: (($not ($prop ($dobj) OPENS)):
119: ($say "I don't know how to open that!\n")($exit 0))
120: (($and ($prop ($dobj) LOCKS)
121: ($prop ($dobj) LOCKD)):
122: ($say "I can't open it, it's locked!\n")($exit 0))
123: (($prop ($dobj) OPEN):
124: ($say "It's already open!\n")($exit 0))
125: ($setp ($dobj) OPEN TRUE)
126: ($say "Opened.\n")
127: (($and ($ne 0 ($cont ($dobj))) ($not ($prop ($dobj) TRANS))):
128: (Llook 1 ($cont ($dobj)))
129: )
130: ;
131:
132: close (ACTION) =
133: (($not ($prop ($dobj) OPENS)):
134: ($say "I don't know how to close that!\n")($exit 0))
135: (($not ($prop ($dobj) OPEN)):
136: ($say "It's already closed!\n")($exit 0))
137: ($setp ($dobj) OPEN FALSE)
138: ($say "Closed\n")
139: ;
140:
141:
142: VERB lock; VERB unlock;
143: lock(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
144: unlock(PREACT) = (Avail ($dobj))(($iobj):(Avail ($iobj)));
145:
146: Lockact =
147: (($prop ($dobj) LOCKS) :
148: ($say "Hm, you don't seem to have the right key.\n")
149: {else}:
150: ($say "I don't know how to lock or unlock such a thing.\n")
151: );
152:
153: lock(ACTION) = Lockact;
154: unlock(ACTION) = Lockact;
155:
156: Lockup =
157: (($prop %1 OPEN):
158: ($say "You must close it first.\n")($exit 1))
159: (($prop %1 LOCKD):
160: ($say "It's already locked!\n")($exit 1))
161: (($not ($prop %1 LOCKS)):($exit 0))
162: (($eq ($loc %2) .ME):
163: ($say %3)
164: ($setp %1 LOCKD TRUE)
165: ($exit 1))
166: ;
167: Ulock =
168: (($not($prop %1 LOCKD)):
169: ($say "It's already unlocked!\n")($exit 1))
170: (($not ($prop %1 LOCKS)):($exit 0))
171: (($eq ($loc %2) .ME):
172: ($say %3)
173: ($setp %1 LOCKD FALSE)
174: ($exit 1))
175: ;
176:
177:
178:
179:
180: VERB move;
181: move(PREACT) = (Avail ($dobj));
182: move(ACTION) =
183: ($say "Nothing seems to happen.\n");
184: push=move;
185: pull=move;
186: lift=move;
187:
188: VERB break;
189: break(PREACT) = (Avail ($dobj));
190: break(ACTION) =
191: ($say "It seems to be unbreakable.\n");
192:
193: VERB strike; hit=strike; kill=strike;
194: strike(PREACT) = (Avail ($dobj))
195: (($iobj):
196: (($ne ($loc ($iobj)) .ME):
197: ($say "You don't have it with you.\n")
198: ($exit 1)
199: )
200: );
201: strike(ACTION) = ($say "Hitting ")(($sdisc ($dobj)))($say
202: " doesn't seem to do anything.");
203:
204: VERB touch; feel=touch;
205: touch(PREACT) = (Avail ($dobj))
206: (($iobj):
207: (($ne ($loc ($iobj)) .ME):
208: ($say "You don't have it with you.\n")
209: ($exit 1)
210: )
211: );
212: touch(ACTION) = ($say "Touching ")(($sdisc ($dobj)))
213: ($say " doesn't seem too useful.\n");
214:
215:
216:
217:
218:
219:
220: VERB rub;
221: rub(PREACT) = (Avail ($dobj));
222: rub(ACTION) = ($say "Nothing happens when you rub ")
223: (($sdisc ($dobj)))($say ".\n");
224:
225: VERB cut;
226: cut(PREACT) = (($not ($iobj)): ($say "You need tools to do that.\n")
227: ($exit 1))
228: (Avail ($iobj));
229:
230: VERB pry;
231: pry(PREACT) = (Avail ($dobj))
232: (($not ($iobj)): ($say "You need tools to do that.\n")
233: ($exit 1))
234: (Avail ($iobj));
235:
236: pry(ACTION) = ($say "I can't seem to manage that.\n");
237:
238: VERB BEAM; BEAM(ACTION)=($setg LOOKP TRUE)($move .ME ($dobj));
239: VERB JOIN; JOIN(ACTION) = ($setg LOOKP TRUE)($move .ME ($loc ($dobj)));
240:
241:
242: VERB GRAB;
243: GRAB(ACTION) = ($move ($dobj) .ME)
244: ($say "You have the ")($name ($dobj))($say ", boss!\n");
245:
246: VERB throw;
247: throw(PREACT) = (($ne ($loc ($dobj)) .ME): ($say "You aren't holding it!\n")
248: ($exit 1));
249: throw(ACTION) = ($move ($dobj) ($loc .ME))
250: ($say "Thrown.\n");
251:
252: VERB wake;
253: wake(PREAC) = (Avail ($dobj));
254: wake(ACTION) = ($say "I don't know how to wake ")(($sdisc ($dobj)))
255: ($say ".\n");
256: VERB read;
257: read(PREAC) = (Avail ($dobj));
258: read(ACTION) = ($say "It doesn't have anything on it to read.\n");
259:
260: VERB light;
261: light(PREACT) = (Avail ($dobj));
262:
263: cg = ($say "Can't go that way.
264: ");
265: ny = ($say "That exit seems impassable today!?\n");
266:
267: die = ($say "You are dead. Better luck next time.\n")
268: ($spec 3 0 0 0 0);
269:
270: tress = ($say "You were warned about trespassing! The fence is electrified!\n")
271: (die);
272:
273:
274: VERB look;
275: VERB quit;
276: VERB inven;
277: VERB score;
278:
279: look(ACTION) = (Llook 0 ($loc .ME))
280: ;
281: inven(ACTION) = (($not ($cont .ME)):
282: ($say "You are empty-handed.\n")
283: ($exit 1))
284: ($setp .ME CONTS TRUE)
285: ($say "You are carrying:\n")
286: (Slook 1 ($cont .ME))
287: ;
288: quit(ACTION) = ($spec 3 0 0 0 0);
289:
290: score(ACTION) =
291: (($eq ($loc .ME) town5):
292: ($say
293: "A mysterious glowing network of lights appears, and you can
294: just make out the words:
295: Your account is now at $")
296: ($num @SCORE)
297: ($say ".
298: Thank you for letting Arpa-Citizen's be your host.\n")
299: ($say
300: "The network then disappears.\n")
301: {else}:
302: ($say
303: "Hmm, you'll have to check at the local bank.\n")
304: );
305:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.