scottkit 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog.md +7 -1
- data/README.md +12 -0
- data/VERSION +1 -1
- data/data/nosferatu/.gitignore +1 -0
- data/data/nosferatu/Makefile +14 -0
- data/data/nosferatu/README +13 -0
- data/data/nosferatu/nosferatu.map +59 -0
- data/data/nosferatu/nosferatu.regression +345 -0
- data/data/nosferatu/nosferatu.sck +469 -0
- data/data/nosferatu/nosferatu.script +452 -0
- data/data/nosferatu/nosferatu.sol +104 -0
- data/data/test/adams/adv01.transcript +1 -1
- data/data/test/adams/adv01.transcript.md5 +1 -1
- data/data/test/adams/adv02.transcript +1 -1
- data/data/test/adams/adv02.transcript.md5 +1 -1
- data/data/test/adams/adv04.transcript +1 -1
- data/data/test/adams/adv04.transcript.md5 +1 -1
- data/data/test/crystal.transcript +1 -1
- data/data/test/t7.transcript +1 -1
- data/lib/scottkit/compile.rb +2 -0
- data/lib/scottkit/game.rb +5 -1
- data/lib/scottkit/play.rb +1 -1
- data/manual/reference.md +5 -1
- metadata +10 -2
@@ -0,0 +1,469 @@
|
|
1
|
+
# NOSFERATU: a vampire-themed adventure game
|
2
|
+
# By Mike Taylor, copyright (C) 1982, 2001 and 2017
|
3
|
+
|
4
|
+
# Use of flags:
|
5
|
+
# 1: Start-of-game message has been printed
|
6
|
+
# 2: THROW AXE has been issued: awaiting AT THING
|
7
|
+
# 3: TIE ROPE has been issued: awaiting TO THING
|
8
|
+
# 4: Whisky has been drunk
|
9
|
+
|
10
|
+
ident 18401
|
11
|
+
version 1
|
12
|
+
wordlen 3
|
13
|
+
maxload 5
|
14
|
+
start coffin
|
15
|
+
treasury hidden
|
16
|
+
lightsource litlamp
|
17
|
+
lighttime 999
|
18
|
+
unknown1 19540
|
19
|
+
unknown2 0
|
20
|
+
|
21
|
+
verbgroup WALK ENTER GO RUN
|
22
|
+
verbgroup LEAVE DROP
|
23
|
+
verbgroup TAKE GET
|
24
|
+
verbgroup OPEN UNLOCK
|
25
|
+
verbgroup LOOK L
|
26
|
+
|
27
|
+
noungroup AXE AX
|
28
|
+
|
29
|
+
room hidden "hidden treasury."
|
30
|
+
item treasure "*treasure* (you shouldn't be able to see this)" nowhere
|
31
|
+
|
32
|
+
room coffin "tall, satin-lined wooden box."
|
33
|
+
exit east empty
|
34
|
+
|
35
|
+
room empty "*I'm in an empty room."
|
36
|
+
exit north kitchen
|
37
|
+
exit south crypt
|
38
|
+
exit east balcony
|
39
|
+
exit west coffin
|
40
|
+
|
41
|
+
room crypt "dark crypt."
|
42
|
+
exit north empty
|
43
|
+
exit east library
|
44
|
+
item sarcophagus "stone Sarcophagus"
|
45
|
+
item body "decomposing Body" nowhere
|
46
|
+
item dust "pile of Dust" nowhere
|
47
|
+
item cross "wooden Cross" called CROSS nowhere
|
48
|
+
|
49
|
+
room library "*I'm in the library."
|
50
|
+
exit north balcony
|
51
|
+
exit west crypt
|
52
|
+
|
53
|
+
item atlas "transylvanian Atlas" called ATLAS
|
54
|
+
item magic "book of Magic" called MAGIC
|
55
|
+
item games "book of Games" called GAMES
|
56
|
+
|
57
|
+
room balcony "*I'm on a balcony overlooking a tall cliff."
|
58
|
+
exit south library
|
59
|
+
exit west empty
|
60
|
+
item ropetied "rope tied to rail" nowhere
|
61
|
+
item rail "balcony Rail"
|
62
|
+
|
63
|
+
room ledge "*I'm on a narrow ledge high up on a cliff."
|
64
|
+
item key "brass Key" called KEY
|
65
|
+
item kipper "scarlet Kipper" called KIPPER
|
66
|
+
item hanging "hanging Rope"
|
67
|
+
|
68
|
+
room kitchen "*I'm in the kitchen."
|
69
|
+
exit north washroom
|
70
|
+
exit south empty
|
71
|
+
item whisky "bottle of Whisky" called WHISKY
|
72
|
+
item emptybottle "empty whisky Bottle" called BOTTLE nowhere
|
73
|
+
|
74
|
+
room washroom "*I'm in the washroom."
|
75
|
+
exit south kitchen
|
76
|
+
exit east mortuary
|
77
|
+
item lockeddoor "locked Door"
|
78
|
+
item opendoor "wide open Door" nowhere
|
79
|
+
item rope "long Rope" called ROPE
|
80
|
+
|
81
|
+
room mortuary "*I'm in the mortuary."
|
82
|
+
exit north graveyard
|
83
|
+
exit west washroom
|
84
|
+
item mallet "7-pound Mallet" called MALLET
|
85
|
+
|
86
|
+
room graveyard "desolate windswept graveyard."
|
87
|
+
exit north busstop
|
88
|
+
exit south mortuary
|
89
|
+
item grave "newely dug open Grave"
|
90
|
+
item tombstone "tombstone engraved: BEWARE THE WITCH"
|
91
|
+
|
92
|
+
room busstop "*I'm by a bus-stop."
|
93
|
+
exit south graveyard
|
94
|
+
item bus "large red no. 29 Bus" nowhere
|
95
|
+
|
96
|
+
room cave "dark gloomy cave."
|
97
|
+
item witch "wrinkled old Witch"
|
98
|
+
item gravehole "Hole (above me)"
|
99
|
+
item lamp "old Lamp" called LAMP nowhere
|
100
|
+
item litlamp "lit Lamp" called LAMP nowhere
|
101
|
+
|
102
|
+
room bus "*I'm on a double-decker bus."
|
103
|
+
exit south busstop
|
104
|
+
item conductor "bus Conductor"
|
105
|
+
|
106
|
+
room yard "rather dark yard."
|
107
|
+
exit north shed
|
108
|
+
exit east washroom
|
109
|
+
exit west pond
|
110
|
+
item axe "sharp Axe" called AXE
|
111
|
+
|
112
|
+
room shed "dark shed."
|
113
|
+
exit south yard
|
114
|
+
item ladder "tall Ladder" called LADDER
|
115
|
+
|
116
|
+
room pond "*I'm by a fishpond ..."
|
117
|
+
exit south swamp
|
118
|
+
exit east yard
|
119
|
+
item shark "maneating Shark!"
|
120
|
+
|
121
|
+
room swamp "damp swamp."
|
122
|
+
exit north pond
|
123
|
+
exit west junction
|
124
|
+
|
125
|
+
room junction "*I'm on a track. To my North is a bridge over a pond."
|
126
|
+
exit north bridge
|
127
|
+
exit east swamp
|
128
|
+
exit west field
|
129
|
+
|
130
|
+
room bridge "*I'm on a very flimsy bridge..."
|
131
|
+
exit north lawn
|
132
|
+
exit south junction
|
133
|
+
# XXX should fall to death if carrying more than one item
|
134
|
+
|
135
|
+
room lawn "*I'm on a lawn to the North of a pond."
|
136
|
+
exit north hut # This exit does not exist in the original
|
137
|
+
exit south bridge
|
138
|
+
item hut "Hut with locked door"
|
139
|
+
item smashed "Hut with smashed door" nowhere
|
140
|
+
|
141
|
+
room hut "small hut."
|
142
|
+
exit south lawn
|
143
|
+
item spade "garden Spade" called SPADE
|
144
|
+
item stick "sharp wooden Stick" called STICK
|
145
|
+
# The stick seems to be a complete red herring
|
146
|
+
|
147
|
+
room westpond "*I'm west of a pond."
|
148
|
+
exit south field
|
149
|
+
exit west cliff
|
150
|
+
|
151
|
+
room field "sunny field."
|
152
|
+
exit north westpond
|
153
|
+
exit south forest
|
154
|
+
exit east junction
|
155
|
+
exit west bythicket
|
156
|
+
item crucifix "crusifix engraved on the ground"
|
157
|
+
item pit "Pit in the ground" nowhere
|
158
|
+
|
159
|
+
room forest "*I'm in an oak-forest."
|
160
|
+
exit north field
|
161
|
+
exit south forest
|
162
|
+
exit west inpit
|
163
|
+
exit east forest
|
164
|
+
item trees "oak-Trees"
|
165
|
+
item treesign "Sign says: 'TREES ARE RESERVED FOR COFFINS'"
|
166
|
+
|
167
|
+
room inpit "*I'm at the bottom of a disused cesspit."
|
168
|
+
item coins "golden Coins" called COINS
|
169
|
+
|
170
|
+
room bythicket "*I'm north of a rather smelly hole."
|
171
|
+
exit north cliff
|
172
|
+
exit south inpit
|
173
|
+
exit east field
|
174
|
+
item wall2 "brick Wall"
|
175
|
+
|
176
|
+
room cliff "*I'm at the top of a cliff."
|
177
|
+
exit south bythicket
|
178
|
+
exit east westpond
|
179
|
+
item thicket "inpenetrable Thicket"
|
180
|
+
item mutilated "mutilated thicket" nowhere
|
181
|
+
item sign1 "Sign here says: 'EXA NO FO TROHS'"
|
182
|
+
item sign2 "SHORT OF AN AXE' is written backwards on a Sign nearby'" nowhere
|
183
|
+
|
184
|
+
room chasm "*I'm on a narrow ledge, East of a chasm."
|
185
|
+
exit north edge
|
186
|
+
item wall1 "brick Wall"
|
187
|
+
item match "safety Match" called MATCH
|
188
|
+
|
189
|
+
room edge "*I'm at the edge of a deep chasm."
|
190
|
+
exit south chasm
|
191
|
+
exit east cliff
|
192
|
+
item water "Water of youth"
|
193
|
+
item fountain "Fountain of youth"
|
194
|
+
item holeinthicket "Hole in thicket"
|
195
|
+
item bottle "whisky Bottle" called BOTTLE nowhere
|
196
|
+
|
197
|
+
room bottom "*I'm at the bottom of a deep hole."
|
198
|
+
item tunnel "secret Tunnel"
|
199
|
+
|
200
|
+
room cavern "subterranean cavern."
|
201
|
+
exit south bottom
|
202
|
+
item stalactite "Stalactites hanging from the ceiling"
|
203
|
+
item entrance "entrance to cave" nowhere
|
204
|
+
|
205
|
+
room underground "cavern where the count sleeps."
|
206
|
+
exit south cavern
|
207
|
+
item count "the count Nosferatu"
|
208
|
+
item altar "stone Altar"
|
209
|
+
item bloodstone "giant *BLOODSTONE*" called BLOODSTONE
|
210
|
+
|
211
|
+
action INVENTORY:
|
212
|
+
inventory
|
213
|
+
|
214
|
+
action TAKE INVENTORY
|
215
|
+
inventory
|
216
|
+
|
217
|
+
action SCORE:
|
218
|
+
score
|
219
|
+
|
220
|
+
action SAVE GAME
|
221
|
+
save_game
|
222
|
+
|
223
|
+
occur when !flag 1
|
224
|
+
set_flag 1
|
225
|
+
print "Welcome to `NOSFERATU`, by Mike Taylor."
|
226
|
+
print " Original VIC-20 BASIC version, 1982"
|
227
|
+
print " Translation to Games::ScottAdams starting Sunday 25th November 2001"
|
228
|
+
print " Translation to ScottKit starting Saturday 14 October 2017"
|
229
|
+
print "This is a demo for the `ScottKit` adventure system --"
|
230
|
+
print "See https://github.com/MikeTaylor/scottkit/"
|
231
|
+
println
|
232
|
+
print "Your task is to kill the evil count Nosferatu and get back home."
|
233
|
+
|
234
|
+
action DIG when !present spade
|
235
|
+
print "I'll need a spade."
|
236
|
+
|
237
|
+
occur when at cavern and !flag 15
|
238
|
+
set_dark
|
239
|
+
look # XXX should only do this when changing state
|
240
|
+
comment "everywhere inside the cavern is dark"
|
241
|
+
|
242
|
+
occur when at bottom and flag 15
|
243
|
+
clear_dark
|
244
|
+
look # XXX should only do this when changing state
|
245
|
+
comment "everywhere outside the bottom of the pit is light"
|
246
|
+
|
247
|
+
occur when at underground and !carried cross
|
248
|
+
print "Nosferatu rises from his altar, and bites my neck!"
|
249
|
+
game_over
|
250
|
+
|
251
|
+
action TIE ROPE when !present rope
|
252
|
+
print "Huh? What rope?"
|
253
|
+
|
254
|
+
action TIE ROPE
|
255
|
+
print "To what (eg. to key)"
|
256
|
+
set_flag 3
|
257
|
+
|
258
|
+
action TO RAIL when flag 3 and at balcony
|
259
|
+
clear_flag 3
|
260
|
+
destroy rope
|
261
|
+
drop ropetied
|
262
|
+
print "OK."
|
263
|
+
|
264
|
+
action TO when flag 3
|
265
|
+
clear_flag 3
|
266
|
+
print "What a stupid concept."
|
267
|
+
|
268
|
+
action TO:
|
269
|
+
print "Huh?"
|
270
|
+
|
271
|
+
action CLIMB ROPE when here ropetied
|
272
|
+
goto ledge
|
273
|
+
|
274
|
+
action CLIMB ROPE when at ledge and carried kipper
|
275
|
+
print "I'm too heavy:\nI fall!"
|
276
|
+
game_over
|
277
|
+
comment "We would rather this happen carrying more than one object, but this is near enough."
|
278
|
+
|
279
|
+
action CLIMB ROPE when at ledge
|
280
|
+
goto balcony
|
281
|
+
|
282
|
+
action OPEN DOOR when present key and here lockeddoor
|
283
|
+
swap lockeddoor opendoor
|
284
|
+
print "OK."
|
285
|
+
look
|
286
|
+
comment "In the original, this created a new exit leading west, but we can't do that in the Scott Adams engine. Instead, the player must GO DOOR."
|
287
|
+
|
288
|
+
action GO DOOR when here opendoor
|
289
|
+
goto yard
|
290
|
+
|
291
|
+
action GO GRAVE when here grave
|
292
|
+
goto cave
|
293
|
+
|
294
|
+
action WAIT when !here bus
|
295
|
+
drop bus
|
296
|
+
print "The bus arrives."
|
297
|
+
|
298
|
+
action GO BUS when here bus
|
299
|
+
goto bus
|
300
|
+
|
301
|
+
action DROP BOTTLE when here witch and carried water
|
302
|
+
destroy water
|
303
|
+
drop bottle
|
304
|
+
continue occur 0%
|
305
|
+
swap witch lamp
|
306
|
+
print "The witch drinks the water, rejuvenates, drops something, and disappears!"
|
307
|
+
look
|
308
|
+
|
309
|
+
action GIVE COINS when here conductor
|
310
|
+
print "He takes them and rings a bell. The bus starts."
|
311
|
+
pause
|
312
|
+
print "You arrive home."
|
313
|
+
game_over
|
314
|
+
|
315
|
+
action DIG when at field
|
316
|
+
swap crucifix pit
|
317
|
+
print "I break through to an underground chamber!"
|
318
|
+
look
|
319
|
+
|
320
|
+
action GO PIT when here pit
|
321
|
+
goto bottom
|
322
|
+
|
323
|
+
action CLIMB LADDER when here ladder
|
324
|
+
goto forest
|
325
|
+
|
326
|
+
action JUMP when at bythicket
|
327
|
+
goto chasm
|
328
|
+
|
329
|
+
action JUMP when at chasm
|
330
|
+
goto bythicket
|
331
|
+
|
332
|
+
action GET WATER when present emptybottle and here fountain
|
333
|
+
print OK
|
334
|
+
swap emptybottle bottle
|
335
|
+
superget water
|
336
|
+
|
337
|
+
action POUR WATER when carried water
|
338
|
+
print OK
|
339
|
+
destroy water
|
340
|
+
swap bottle emptybottle
|
341
|
+
|
342
|
+
action THROW AXE when !present axe
|
343
|
+
print "Huh? What axe?"
|
344
|
+
|
345
|
+
action THROW AXE
|
346
|
+
print "At what (eg. at bus)"
|
347
|
+
set_flag 2
|
348
|
+
|
349
|
+
action AT DOOR when flag 2 and here hut
|
350
|
+
clear_flag 2
|
351
|
+
drop axe
|
352
|
+
continue occur 0%
|
353
|
+
swap hut smashed
|
354
|
+
print "It shatters!"
|
355
|
+
look
|
356
|
+
|
357
|
+
action GO DOOR when here smashed
|
358
|
+
goto hut
|
359
|
+
|
360
|
+
action AT STALACTITE when flag 2 and here stalactite
|
361
|
+
clear_flag 2
|
362
|
+
drop axe
|
363
|
+
continue occur 0%
|
364
|
+
swap stalactite entrance
|
365
|
+
print "It shatters!"
|
366
|
+
look
|
367
|
+
|
368
|
+
action AT when flag 2
|
369
|
+
clear_flag 2
|
370
|
+
drop axe
|
371
|
+
print "OK."
|
372
|
+
print "Nothing happens."
|
373
|
+
|
374
|
+
action GO ENTRANCE when here entrance
|
375
|
+
goto underground
|
376
|
+
|
377
|
+
action KILL COUNT when here count
|
378
|
+
print "OK."
|
379
|
+
print "I punch him and he crumbles to dust."
|
380
|
+
print "Huh! That was easier than I expected!"
|
381
|
+
put treasure hidden
|
382
|
+
|
383
|
+
action TELEPORT COFFIN
|
384
|
+
print ">Fzing!<"
|
385
|
+
goto coffin
|
386
|
+
|
387
|
+
action READ BOOK
|
388
|
+
print "Which one?"
|
389
|
+
|
390
|
+
action READ LIBRARY when at library
|
391
|
+
print "OK, but it'll take a while."
|
392
|
+
println
|
393
|
+
pause
|
394
|
+
print "That was boring! It was in Transylvanian!"
|
395
|
+
|
396
|
+
action READ ATLAS when present atlas
|
397
|
+
print "The book says:\n\nNear the forest is a disused cess-pit."
|
398
|
+
|
399
|
+
action READ MAGIC when present magic
|
400
|
+
print "The book says:\n\nMagic word id: 'OVYEZ'"
|
401
|
+
|
402
|
+
action READ GAMES when present games
|
403
|
+
print "The book says:\n\nBored with this game already, huh?"
|
404
|
+
|
405
|
+
action DRINK WHISKY when present whisky
|
406
|
+
print "OK."
|
407
|
+
print "Burp! It's good!"
|
408
|
+
print "I feel stronger."
|
409
|
+
swap whisky emptybottle
|
410
|
+
set_flag 4
|
411
|
+
|
412
|
+
action OPEN SARCOPHAGUS when here sarcophagus and flag 4
|
413
|
+
print "I find something!"
|
414
|
+
drop body
|
415
|
+
drop cross
|
416
|
+
look
|
417
|
+
|
418
|
+
action OPEN SARCOPHAGUS when here sarcophagus
|
419
|
+
print "The lid's too heavy!"
|
420
|
+
|
421
|
+
action GET BODY when here body
|
422
|
+
print "It turns to dust!"
|
423
|
+
destroy body
|
424
|
+
drop dust
|
425
|
+
|
426
|
+
action GET DUST when here dust
|
427
|
+
print "It slips through my fingers"
|
428
|
+
|
429
|
+
action CHOP THICKET when carried axe and here thicket
|
430
|
+
swap thicket mutilated
|
431
|
+
continue occur 0%
|
432
|
+
swap sign1 sign2
|
433
|
+
print "OK"
|
434
|
+
|
435
|
+
action GO THICKET when here mutilated
|
436
|
+
goto edge
|
437
|
+
|
438
|
+
action GO HOLE when here gravehole
|
439
|
+
goto graveyard
|
440
|
+
|
441
|
+
action GO TUNNEL when here tunnel
|
442
|
+
goto cavern
|
443
|
+
|
444
|
+
# XXX Should require the match. Check original for message when it's missing
|
445
|
+
action LIGHT LAMP when present lamp
|
446
|
+
swap lamp litlamp
|
447
|
+
print "OK"
|
448
|
+
look
|
449
|
+
comment "We only really want to look if it was previously dark. Can do this with flags."
|
450
|
+
|
451
|
+
action HELP:
|
452
|
+
print "You'll have to figure it out for yourself."
|
453
|
+
|
454
|
+
action EXAMINE:
|
455
|
+
print "It looks like a pretty average"
|
456
|
+
println_noun
|
457
|
+
|
458
|
+
action WAIT:
|
459
|
+
print "Nothing happens."
|
460
|
+
|
461
|
+
action JUMP:
|
462
|
+
print Wheee!
|
463
|
+
|
464
|
+
action DIG:
|
465
|
+
print "I find nothing."
|
466
|
+
|
467
|
+
action LOOK:
|
468
|
+
look
|
469
|
+
|