scottkit 1.4.0 → 1.5.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 +11 -3
- data/README.md +11 -9
- data/VERSION +1 -1
- data/bin/scottkit +7 -1
- data/data/adams/.gitignore +1 -0
- data/data/nosferatu/Makefile +2 -2
- data/data/nosferatu/TODO +51 -0
- data/data/nosferatu/nosferatu.regression +224 -113
- data/data/nosferatu/nosferatu.sck +201 -36
- data/data/nosferatu/{nosferatu.script → nosferatu.transcript} +91 -9
- data/data/test/t6.pretty-print +16 -2
- data/data/tutorial/t4.sck +12 -3
- data/data/tutorial/t5.map +1 -1
- data/data/tutorial/t5.sck +43 -7
- data/data/tutorial/t6.sck +38 -7
- data/data/tutorial/t7.sck +20 -10
- data/data/tutorial/tutorial.md +24 -9
- data/lib/scottkit/compile.rb +29 -4
- data/lib/scottkit/game.rb +2 -2
- data/lib/scottkit/play.rb +3 -3
- data/manual/reference.md +3 -3
- metadata +4 -3
@@ -12,7 +12,7 @@ Welcome to "NOSFERATU", by Mike Taylor.
|
|
12
12
|
This is a demo for the "ScottKit" adventure system --
|
13
13
|
See https://github.com/MikeTaylor/scottkit/
|
14
14
|
|
15
|
-
Your task
|
15
|
+
Your task: kill the evil count Nosferatu and return home with his bloodstone.
|
16
16
|
Tell me what to do ? e
|
17
17
|
|
18
18
|
I'm in an empty room.
|
@@ -35,7 +35,7 @@ O.K.
|
|
35
35
|
Tell me what to do ? read magic Magic word is: 'OVYEZ'
|
36
36
|
The book says:
|
37
37
|
|
38
|
-
Magic word
|
38
|
+
Magic word is: 'OVYEZ'
|
39
39
|
Tell me what to do ? drop magic
|
40
40
|
O.K.
|
41
41
|
Tell me what to do ? n
|
@@ -84,10 +84,24 @@ Tell me what to do ? tie rope
|
|
84
84
|
To what (eg. to key)
|
85
85
|
Tell me what to do ? to rail
|
86
86
|
OK.
|
87
|
+
|
88
|
+
I'm on a balcony overlooking a tall cliff.
|
89
|
+
Obvious exits: South, West.
|
90
|
+
I can also see: rope tied to rail, balcony Rail
|
91
|
+
|
87
92
|
Tell me what to do ? climb rope
|
93
|
+
|
94
|
+
I'm on a narrow ledge high up on a cliff.
|
95
|
+
I can also see: brass Key, scarlet Kipper, hanging Rope
|
96
|
+
|
88
97
|
Tell me what to do ? get key (The scarlet kipper is a red herring)
|
89
98
|
O.K.
|
90
99
|
Tell me what to do ? climb rope
|
100
|
+
|
101
|
+
I'm on a balcony overlooking a tall cliff.
|
102
|
+
Obvious exits: South, West.
|
103
|
+
I can also see: rope tied to rail, balcony Rail
|
104
|
+
|
91
105
|
Tell me what to do ? w
|
92
106
|
|
93
107
|
I'm in an empty room.
|
@@ -141,6 +155,7 @@ I'm in the washroom.
|
|
141
155
|
Obvious exits: South, East.
|
142
156
|
I can also see: locked Door
|
143
157
|
|
158
|
+
I feel weaker.
|
144
159
|
Tell me what to do ? open door
|
145
160
|
OK.
|
146
161
|
|
@@ -151,6 +166,11 @@ I can also see: wide open Door
|
|
151
166
|
Tell me what to do ? drop key
|
152
167
|
O.K.
|
153
168
|
Tell me what to do ? go door (Just "w" in the original, where a new exit opens)
|
169
|
+
|
170
|
+
I'm in a rather dark yard.
|
171
|
+
Obvious exits: North, East, West.
|
172
|
+
I can also see: sharp Axe
|
173
|
+
|
154
174
|
Tell me what to do ? get axe
|
155
175
|
O.K.
|
156
176
|
Tell me what to do ? n
|
@@ -197,7 +217,7 @@ Tell me what to do ? n
|
|
197
217
|
|
198
218
|
I'm on a lawn to the North of a pond.
|
199
219
|
Obvious exits: North, South.
|
200
|
-
I can also see:
|
220
|
+
I can also see: hut with locked Door
|
201
221
|
|
202
222
|
Tell me what to do ? throw axe
|
203
223
|
At what (eg. at bus)
|
@@ -206,16 +226,21 @@ It shatters!
|
|
206
226
|
|
207
227
|
I'm on a lawn to the North of a pond.
|
208
228
|
Obvious exits: North, South.
|
209
|
-
I can also see: sharp Axe,
|
229
|
+
I can also see: sharp Axe, hut with smashed Door
|
210
230
|
|
211
231
|
Tell me what to do ? go door (Just "n" in the original, where a new exit opens)
|
232
|
+
|
233
|
+
I'm in a small hut.
|
234
|
+
Obvious exits: South.
|
235
|
+
I can also see: garden Spade, sharp wooden Stick
|
236
|
+
|
212
237
|
Tell me what to do ? get spade
|
213
238
|
O.K.
|
214
239
|
Tell me what to do ? s
|
215
240
|
|
216
241
|
I'm on a lawn to the North of a pond.
|
217
242
|
Obvious exits: North, South.
|
218
|
-
I can also see: sharp Axe,
|
243
|
+
I can also see: sharp Axe, hut with smashed Door
|
219
244
|
|
220
245
|
Tell me what to do ? s
|
221
246
|
|
@@ -239,7 +264,7 @@ Tell me what to do ? n
|
|
239
264
|
|
240
265
|
I'm on a lawn to the North of a pond.
|
241
266
|
Obvious exits: North, South.
|
242
|
-
I can also see: sharp Axe,
|
267
|
+
I can also see: sharp Axe, hut with smashed Door
|
243
268
|
|
244
269
|
Tell me what to do ? get axe
|
245
270
|
O.K.
|
@@ -275,7 +300,17 @@ I can also see: inpenetrable Thicket, Sign here says: 'EXA NO FO TROHS'
|
|
275
300
|
|
276
301
|
Tell me what to do ? chop thicket
|
277
302
|
OK
|
303
|
+
|
304
|
+
I'm at the top of a cliff.
|
305
|
+
Obvious exits: South, East.
|
306
|
+
I can also see: mutilated thicket, SHORT OF AN AXE' is written backwards on a Sign nearby'
|
307
|
+
|
278
308
|
Tell me what to do ? go thicket (Just "w" in the original, where a new exit opens)
|
309
|
+
|
310
|
+
I'm at the edge of a deep chasm.
|
311
|
+
Obvious exits: South, East.
|
312
|
+
I can also see: Water of youth, Fountain of youth, Hole in thicket
|
313
|
+
|
279
314
|
Tell me what to do ? get water
|
280
315
|
OK
|
281
316
|
Tell me what to do ? s
|
@@ -351,6 +386,10 @@ Obvious exits: North, South.
|
|
351
386
|
I can also see: newely dug open Grave, tombstone engraved: BEWARE THE WITCH
|
352
387
|
|
353
388
|
Tell me what to do ? go grave
|
389
|
+
|
390
|
+
I'm in a dark gloomy cave.
|
391
|
+
I can also see: wrinkled old Witch, Hole (above me)
|
392
|
+
|
354
393
|
Tell me what to do ? drop bottle
|
355
394
|
The witch drinks the water, rejuvenates, drops something, and disappears!
|
356
395
|
|
@@ -360,6 +399,11 @@ I can also see: Hole (above me), old Lamp, whisky Bottle
|
|
360
399
|
Tell me what to do ? get lamp
|
361
400
|
O.K.
|
362
401
|
Tell me what to do ? go hole
|
402
|
+
|
403
|
+
I'm in a desolate windswept graveyard.
|
404
|
+
Obvious exits: North, South.
|
405
|
+
I can also see: newely dug open Grave, tombstone engraved: BEWARE THE WITCH
|
406
|
+
|
363
407
|
Tell me what to do ? s
|
364
408
|
|
365
409
|
I'm in the mortuary.
|
@@ -373,6 +417,10 @@ Obvious exits: South, East.
|
|
373
417
|
I can also see: brass Key, wide open Door
|
374
418
|
|
375
419
|
Tell me what to do ? go door (Just "w" in the original, where a new exit opens)
|
420
|
+
|
421
|
+
I'm in a rather dark yard.
|
422
|
+
Obvious exits: North, East, West.
|
423
|
+
|
376
424
|
Tell me what to do ? w
|
377
425
|
|
378
426
|
I'm by a fishpond ...
|
@@ -424,10 +472,19 @@ Obvious exits: North, South, East, West.
|
|
424
472
|
I can also see: garden Spade, Pit in the ground
|
425
473
|
|
426
474
|
Tell me what to do ? go pit
|
475
|
+
|
476
|
+
I'm at the bottom of a deep hole.
|
477
|
+
I can also see: secret Tunnel
|
478
|
+
|
427
479
|
Tell me what to do ? drop ladder
|
428
480
|
O.K.
|
429
481
|
Tell me what to do ? go tunnel
|
430
482
|
|
483
|
+
I'm in a subterranean cavern.
|
484
|
+
Obvious exits: South.
|
485
|
+
I can also see: Stalactites hanging from the ceiling
|
486
|
+
|
487
|
+
|
431
488
|
I can't see. It is too dark!
|
432
489
|
|
433
490
|
Tell me what to do ? light lamp
|
@@ -446,9 +503,14 @@ It shatters!
|
|
446
503
|
|
447
504
|
I'm in a subterranean cavern.
|
448
505
|
Obvious exits: South.
|
449
|
-
I can also see: sharp Axe,
|
506
|
+
I can also see: sharp Axe, spent Match, entrance to cave
|
450
507
|
|
451
508
|
Tell me what to do ? go entrance (Just "n" in the original, where a new exit opens)
|
509
|
+
|
510
|
+
I'm in a cavern where the count sleeps.
|
511
|
+
Obvious exits: South.
|
512
|
+
I can also see: the count Nosferatu, stone Altar, giant *BLOODSTONE*
|
513
|
+
|
452
514
|
Tell me what to do ? say ovyez
|
453
515
|
OK.
|
454
516
|
ovyez
|
@@ -457,7 +519,7 @@ Nosferatu vanishes in a cloud of smoke!
|
|
457
519
|
|
458
520
|
I'm in a cavern where the count sleeps.
|
459
521
|
Obvious exits: South.
|
460
|
-
I can also see:
|
522
|
+
I can also see: stone Altar, giant *BLOODSTONE*
|
461
523
|
|
462
524
|
Tell me what to do ? get bloodstone
|
463
525
|
O.K.
|
@@ -465,7 +527,7 @@ Tell me what to do ? s
|
|
465
527
|
|
466
528
|
I'm in a subterranean cavern.
|
467
529
|
Obvious exits: South.
|
468
|
-
I can also see: sharp Axe,
|
530
|
+
I can also see: sharp Axe, spent Match, entrance to cave
|
469
531
|
|
470
532
|
Tell me what to do ? s
|
471
533
|
|
@@ -477,6 +539,11 @@ I'm at the bottom of a deep hole.
|
|
477
539
|
I can also see: tall Ladder, secret Tunnel
|
478
540
|
|
479
541
|
Tell me what to do ? climb ladder
|
542
|
+
|
543
|
+
I'm in an oak-forest.
|
544
|
+
Obvious exits: North, South, East, West.
|
545
|
+
I can also see: tall Ladder, oak-Trees, Sign says: 'TREES ARE RESERVED FOR COFFINS'
|
546
|
+
|
480
547
|
Tell me what to do ? get ladder
|
481
548
|
O.K.
|
482
549
|
Tell me what to do ? w
|
@@ -491,6 +558,11 @@ O.K.
|
|
491
558
|
Tell me what to do ? get coins
|
492
559
|
O.K.
|
493
560
|
Tell me what to do ? climb ladder
|
561
|
+
|
562
|
+
I'm in an oak-forest.
|
563
|
+
Obvious exits: North, South, East, West.
|
564
|
+
I can also see: tall Ladder, oak-Trees, Sign says: 'TREES ARE RESERVED FOR COFFINS'
|
565
|
+
|
494
566
|
Tell me what to do ? n
|
495
567
|
|
496
568
|
I'm in a sunny field.
|
@@ -544,7 +616,17 @@ Obvious exits: South.
|
|
544
616
|
Tell me what to do ? wait
|
545
617
|
Time passes...
|
546
618
|
A bus arrives!
|
619
|
+
|
620
|
+
I'm by a bus-stop.
|
621
|
+
Obvious exits: South.
|
622
|
+
I can also see: large red no. 29 Bus
|
623
|
+
|
547
624
|
Tell me what to do ? go bus
|
625
|
+
|
626
|
+
I'm on a double-decker bus.
|
627
|
+
Obvious exits: South.
|
628
|
+
I can also see: bus Conductor
|
629
|
+
|
548
630
|
Tell me what to do ? give coins
|
549
631
|
He takes them, the bus starts, and I'm home
|
550
632
|
with Nosferatu's Bloodstone.
|
data/data/test/t6.pretty-print
CHANGED
@@ -208,11 +208,18 @@
|
|
208
208
|
gathered_args=nil>,
|
209
209
|
#<struct ScottKit::Game::Compiler::CAction
|
210
210
|
verb=nil,
|
211
|
-
noun=
|
211
|
+
noun="25",
|
212
212
|
conds=[["here", "vampire"], ["!carried", "cross"]],
|
213
213
|
instructions=
|
214
214
|
[["print", ["Vampire bites me! I'm dead!"]], ["game_over", []]],
|
215
|
-
comment="vampire
|
215
|
+
comment="vampire can attack unless cross is carried",
|
216
|
+
gathered_args=nil>,
|
217
|
+
#<struct ScottKit::Game::Compiler::CAction
|
218
|
+
verb=nil,
|
219
|
+
noun=nil,
|
220
|
+
conds=[["here", "vampire"], ["!carried", "cross"]],
|
221
|
+
instructions=[["print", ["Vampire looks hungrily at me."]]],
|
222
|
+
comment=nil,
|
216
223
|
gathered_args=nil>,
|
217
224
|
#<struct ScottKit::Game::Compiler::CAction
|
218
225
|
verb=nil,
|
@@ -220,6 +227,13 @@
|
|
220
227
|
conds=[["here", "vampire"], ["carried", "cross"]],
|
221
228
|
instructions=[["print", ["Vampire cowers away from the cross!"]]],
|
222
229
|
comment=nil,
|
230
|
+
gathered_args=nil>,
|
231
|
+
#<struct ScottKit::Game::Compiler::CAction
|
232
|
+
verb="get",
|
233
|
+
noun="key",
|
234
|
+
conds=[["here", "vampire"], ["!carried", "cross"]],
|
235
|
+
instructions=[["print", ["I'm not going anywhere near that vampire!"]]],
|
236
|
+
comment=nil,
|
223
237
|
gathered_args=nil>],
|
224
238
|
verbgroups=[["take", "get"], ["leave", "drop"]],
|
225
239
|
noungroups=[["lamp", "lantern"], ["doorbell", "bell"]]>
|
data/data/tutorial/t4.sck
CHANGED
@@ -21,6 +21,9 @@ room dungeon "gloomy dungeon"
|
|
21
21
|
exit west chamber
|
22
22
|
exit north crypt
|
23
23
|
|
24
|
+
occur 25% when at dungeon
|
25
|
+
print "I smell something rotting to the north."
|
26
|
+
|
24
27
|
item door "Locked door"
|
25
28
|
|
26
29
|
item key "Brass key"
|
@@ -53,10 +56,16 @@ room crypt "damp, dismal crypt"
|
|
53
56
|
|
54
57
|
item vampire "Vampire"
|
55
58
|
|
59
|
+
occur when here vampire and carried cross
|
60
|
+
print "Vampire cowers away from the cross!"
|
61
|
+
|
56
62
|
occur when here vampire and !carried cross
|
63
|
+
print "Vampire looks hungrily at me."
|
64
|
+
|
65
|
+
occur 25% when here vampire and !carried cross
|
57
66
|
print "Vampire bites me! I'm dead!"
|
58
67
|
game_over
|
59
|
-
comment "vampire
|
68
|
+
comment "vampire can attack unless cross is carried"
|
60
69
|
|
61
|
-
|
62
|
-
print "
|
70
|
+
action get key when here vampire and !carried cross
|
71
|
+
print "I'm not going anywhere near that vampire!"
|
data/data/tutorial/t5.map
CHANGED
data/data/tutorial/t5.sck
CHANGED
@@ -5,6 +5,11 @@ action score: score
|
|
5
5
|
action inventory: inventory
|
6
6
|
action look: look
|
7
7
|
|
8
|
+
occur when !flag 1
|
9
|
+
print "Welcome to the Tutorial adventure."
|
10
|
+
print "You must find a gold coin and store it."
|
11
|
+
set_flag 1
|
12
|
+
|
8
13
|
room cave "cave mouth"
|
9
14
|
exit east chamber
|
10
15
|
|
@@ -16,7 +21,32 @@ item sign "Sign says: leave treasure here, then say SCORE"
|
|
16
21
|
item lamp "old-fashioned brass lamp"
|
17
22
|
called "lamp"
|
18
23
|
|
19
|
-
|
24
|
+
item lit_lamp "lit lamp"
|
25
|
+
called "lamp" nowhere
|
26
|
+
|
27
|
+
item empty_lamp "empty lamp"
|
28
|
+
called "lamp" nowhere
|
29
|
+
|
30
|
+
lightsource lit_lamp
|
31
|
+
lighttime 10
|
32
|
+
|
33
|
+
action light lamp when present lamp
|
34
|
+
swap lamp lit_lamp
|
35
|
+
print "OK, lamp is now lit and will burn for 10 turns."
|
36
|
+
look
|
37
|
+
|
38
|
+
occur when flag 16
|
39
|
+
clear_flag 16
|
40
|
+
swap lit_lamp empty_lamp
|
41
|
+
look
|
42
|
+
comment "The engine sets flag 16 when the lamp runs out"
|
43
|
+
|
44
|
+
item station "lamp-refilling station" at cave
|
45
|
+
|
46
|
+
action refill lamp when here station and present empty_lamp
|
47
|
+
destroy empty_lamp
|
48
|
+
refill_lamp
|
49
|
+
print "The lamp is now full and lit."
|
20
50
|
|
21
51
|
room chamber "square chamber"
|
22
52
|
exit east dungeon
|
@@ -24,7 +54,7 @@ room chamber "square chamber"
|
|
24
54
|
exit west cave
|
25
55
|
|
26
56
|
# Flag 15 is on when and only when it is dark
|
27
|
-
occur when
|
57
|
+
occur when at chamber and flag 15
|
28
58
|
clear_dark
|
29
59
|
look
|
30
60
|
|
@@ -35,11 +65,11 @@ room dungeon "gloomy dungeon"
|
|
35
65
|
exit west chamber
|
36
66
|
exit north crypt
|
37
67
|
|
38
|
-
occur when
|
68
|
+
occur when at dungeon and !flag 15
|
39
69
|
set_dark
|
40
70
|
look
|
41
71
|
|
42
|
-
occur 25% when
|
72
|
+
occur 25% when at dungeon
|
43
73
|
print "I smell something rotting to the north."
|
44
74
|
|
45
75
|
item door "Locked door"
|
@@ -74,13 +104,19 @@ room crypt "damp, dismal crypt"
|
|
74
104
|
|
75
105
|
item vampire "Vampire"
|
76
106
|
|
107
|
+
occur when here vampire and carried cross
|
108
|
+
print "Vampire cowers away from the cross!"
|
109
|
+
|
77
110
|
occur when here vampire and !carried cross
|
111
|
+
print "Vampire looks hungrily at me."
|
112
|
+
|
113
|
+
occur 25% when here vampire and !carried cross
|
78
114
|
print "Vampire bites me! I'm dead!"
|
79
115
|
game_over
|
80
|
-
comment "vampire
|
116
|
+
comment "vampire can attack unless cross is carried"
|
81
117
|
|
82
|
-
|
83
|
-
print "
|
118
|
+
action get key when here vampire and !carried cross
|
119
|
+
print "I'm not going anywhere near that vampire!"
|
84
120
|
|
85
121
|
verbgroup take get
|
86
122
|
verbgroup leave drop
|
data/data/tutorial/t6.sck
CHANGED
@@ -47,7 +47,32 @@ item sign "Sign says: leave treasure here, then say SCORE"
|
|
47
47
|
item lamp "old-fashioned brass lamp"
|
48
48
|
called "lamp"
|
49
49
|
|
50
|
-
|
50
|
+
item lit_lamp "lit lamp"
|
51
|
+
called "lamp" nowhere
|
52
|
+
|
53
|
+
item empty_lamp "empty lamp"
|
54
|
+
called "lamp" nowhere
|
55
|
+
|
56
|
+
lightsource lit_lamp
|
57
|
+
lighttime 10
|
58
|
+
|
59
|
+
action light lamp when present lamp
|
60
|
+
swap lamp lit_lamp
|
61
|
+
print "OK, lamp is now lit and will burn for 10 turns."
|
62
|
+
look
|
63
|
+
|
64
|
+
occur when flag 16
|
65
|
+
clear_flag 16
|
66
|
+
swap lit_lamp empty_lamp
|
67
|
+
look
|
68
|
+
comment "The engine sets flag 16 when the lamp runs out"
|
69
|
+
|
70
|
+
item station "lamp-refilling station" at cave
|
71
|
+
|
72
|
+
action refill lamp when here station and present empty_lamp
|
73
|
+
destroy empty_lamp
|
74
|
+
refill_lamp
|
75
|
+
print "The lamp is now full and lit."
|
51
76
|
|
52
77
|
room chamber "square chamber"
|
53
78
|
exit east dungeon
|
@@ -55,7 +80,7 @@ room chamber "square chamber"
|
|
55
80
|
exit west cave
|
56
81
|
|
57
82
|
# Flag 15 is on when and only when it is dark
|
58
|
-
occur when
|
83
|
+
occur when at chamber and flag 15
|
59
84
|
clear_dark
|
60
85
|
look
|
61
86
|
|
@@ -66,11 +91,11 @@ room dungeon "gloomy dungeon"
|
|
66
91
|
exit west chamber
|
67
92
|
exit north crypt
|
68
93
|
|
69
|
-
occur when
|
94
|
+
occur when at dungeon and !flag 15
|
70
95
|
set_dark
|
71
96
|
look
|
72
97
|
|
73
|
-
occur 25% when
|
98
|
+
occur 25% when at dungeon
|
74
99
|
print "I smell something rotting to the north."
|
75
100
|
|
76
101
|
item door "Locked door"
|
@@ -105,13 +130,19 @@ room crypt "damp, dismal crypt"
|
|
105
130
|
|
106
131
|
item vampire "Vampire"
|
107
132
|
|
133
|
+
occur when here vampire and carried cross
|
134
|
+
print "Vampire cowers away from the cross!"
|
135
|
+
|
108
136
|
occur when here vampire and !carried cross
|
137
|
+
print "Vampire looks hungrily at me."
|
138
|
+
|
139
|
+
occur 25% when here vampire and !carried cross
|
109
140
|
print "Vampire bites me! I'm dead!"
|
110
141
|
game_over
|
111
|
-
comment "vampire
|
142
|
+
comment "vampire can attack unless cross is carried"
|
112
143
|
|
113
|
-
|
114
|
-
print "
|
144
|
+
action get key when here vampire and !carried cross
|
145
|
+
print "I'm not going anywhere near that vampire!"
|
115
146
|
|
116
147
|
verbgroup take get
|
117
148
|
verbgroup leave drop
|