scottkit 0.0.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.
Files changed (67) hide show
  1. data/.gitignore +4 -0
  2. data/GPL-2 +339 -0
  3. data/Makefile +5 -0
  4. data/README +75 -0
  5. data/Rakefile +58 -0
  6. data/VERSION +1 -0
  7. data/bin/scottkit +96 -0
  8. data/bin/scottkit.rb +96 -0
  9. data/data/.gitignore +1 -0
  10. data/data/adams/.gitignore +2 -0
  11. data/data/adams/AdamsGames.zip +0 -0
  12. data/data/adams/Makefile +18 -0
  13. data/data/crystal/crystal.map +112 -0
  14. data/data/crystal/crystal.sck +598 -0
  15. data/data/crystal/crystal.solution +82 -0
  16. data/data/dan-and-matt.sck +180 -0
  17. data/data/dan-and-matt.solution +32 -0
  18. data/data/howarth/.gitignore +2 -0
  19. data/data/howarth/Makefile +14 -0
  20. data/data/howarth/mysterious.tar.gz +0 -0
  21. data/data/test/Makefile +18 -0
  22. data/data/test/adams/Makefile +13 -0
  23. data/data/test/adams/adv01.solution +186 -0
  24. data/data/test/adams/adv01.transcript +869 -0
  25. data/data/test/adams/adv01.transcript.md5 +1 -0
  26. data/data/test/adams/adv02.solution +225 -0
  27. data/data/test/adams/adv02.transcript +970 -0
  28. data/data/test/adams/adv02.transcript.md5 +1 -0
  29. data/data/test/adams/adv04.solution +187 -0
  30. data/data/test/adams/adv04.transcript +876 -0
  31. data/data/test/adams/adv04.transcript.md5 +1 -0
  32. data/data/test/crystal.decompile +628 -0
  33. data/data/test/crystal.sao +373 -0
  34. data/data/test/crystal.save-file +62 -0
  35. data/data/test/crystal.save-script +41 -0
  36. data/data/test/crystal.sck +598 -0
  37. data/data/test/crystal.solution +82 -0
  38. data/data/test/crystal.transcript +413 -0
  39. data/data/test/t6.pretty-print +225 -0
  40. data/data/test/t7.sao +110 -0
  41. data/data/test/t7.solution +28 -0
  42. data/data/test/t7.transcript +147 -0
  43. data/data/tutorial/t1.sck +5 -0
  44. data/data/tutorial/t2.sck +14 -0
  45. data/data/tutorial/t3.sck +38 -0
  46. data/data/tutorial/t4.sck +62 -0
  47. data/data/tutorial/t5.sck +87 -0
  48. data/data/tutorial/t6.sck +119 -0
  49. data/data/tutorial/t7.sck +135 -0
  50. data/lib/scottkit/compile.rb +661 -0
  51. data/lib/scottkit/decompile.rb +175 -0
  52. data/lib/scottkit/game.rb +409 -0
  53. data/lib/scottkit/play.rb +474 -0
  54. data/notes/Definition +147 -0
  55. data/notes/Definition.saved-game +9 -0
  56. data/notes/Definition.scottfree-1.14 +142 -0
  57. data/notes/adventureland-maze +20 -0
  58. data/notes/continue-action +51 -0
  59. data/test/test_canonicalise.rb +94 -0
  60. data/test/test_compile.rb +54 -0
  61. data/test/test_decompile.rb +13 -0
  62. data/test/test_play.rb +20 -0
  63. data/test/test_playadams.rb +36 -0
  64. data/test/test_save.rb +31 -0
  65. data/test/withio.rb +15 -0
  66. data/test/withio_test.rb +31 -0
  67. metadata +118 -0
@@ -0,0 +1,413 @@
1
+ ScottKit, a Scott Adams game toolkit in Ruby.
2
+ Release 1.0, (C) 2010 Mike Taylor <mike@miketaylor.org.uk>
3
+ Distributed under the GNU software license
4
+ Setting random seed 12368
5
+
6
+ I'm in a small wooden hut.
7
+ Obvious exits: East.
8
+ I can also see: Sign, Axe, Single match
9
+
10
+ Welcome to "CRYSTAL OF CHAOS"
11
+ Written by Mike Taylor, starting Monday 10th April 2001
12
+ This is a demo for the "ScottKit" adventure system
13
+
14
+ Your task is to find the six crown jewels of the
15
+ kingdom and store them in this hut. They are:
16
+ a platinum chain, a gold crown, a silver medallion
17
+ a bronze sceptre, a zinc goblet and a tin stoat.
18
+ Tell me what to do ? read sign
19
+ It says - "Leave *TREASURES* here, then say: SCORE"
20
+ Tell me what to do ? east
21
+
22
+ I'm in a clearing. There's a small hut to the west.
23
+ Obvious exits: North, South, East, West.
24
+ I can also see: *Platinum chain*, *Gold crown*, *Silver medallion*, *Bronze sceptre*, *Zinc goblet*
25
+
26
+ Oh, there they are. That wasn't as hard as I expected.
27
+ Tell me what to do ? get chain
28
+ O.K.
29
+ Tell me what to do ? get crown
30
+ O.K.
31
+ Tell me what to do ? get medallion
32
+ O.K.
33
+ Tell me what to do ? get sceptre
34
+ O.K.
35
+ Tell me what to do ? get goblet
36
+ O.K.
37
+ Tell me what to do ? west
38
+
39
+ I'm in a small wooden hut.
40
+ Obvious exits: East.
41
+ I can also see: Sign, Axe, Single match
42
+
43
+ Tell me what to do ? drop chain
44
+ O.K.
45
+ Tell me what to do ? drop crown
46
+ O.K.
47
+ Tell me what to do ? drop medallion
48
+ O.K.
49
+ Tell me what to do ? drop sceptre
50
+ O.K.
51
+ Tell me what to do ? drop goblet
52
+ O.K.
53
+ Ah, looks like I'm still missing the stoat.
54
+ Tell me what to do ? get axe
55
+ O.K.
56
+ Tell me what to do ? get match
57
+ O.K.
58
+ Tell me what to do ? east
59
+
60
+ I'm in a clearing. There's a small hut to the west.
61
+ Obvious exits: North, South, East, West.
62
+
63
+ Tell me what to do ? north
64
+
65
+ I'm in a dismal swamp
66
+ Obvious exits: South, East.
67
+ I can also see: Cypress tree, Evil smelling mud, Swamp gas, Patches of "OILY" slime, Chiggers
68
+
69
+ Tell me what to do ? chop tree
70
+ TIMBER!
71
+
72
+ I'm in a dismal swamp
73
+ Obvious exits: South, East.
74
+ I can also see: -SOLID- stump, Trunk of cypress tree, Evil smelling mud, Swamp gas, Patches of "OILY" slime, Chiggers
75
+
76
+ Tell me what to do ? get trunk
77
+ O.K.
78
+ Tell me what to do ? east
79
+
80
+ I'm in a rocky area by an outcrop
81
+ Obvious exits: South, West.
82
+ I can also see: Old-fashioned brass lamp, Balsa-wood door set into the rock
83
+
84
+ Tell me what to do ? kick door
85
+ It splinters easily.
86
+ There's a tunnel beyond.
87
+
88
+ I'm in a rocky area by an outcrop
89
+ Obvious exits: South, West.
90
+ I can also see: Old-fashioned brass lamp, Balsa wood, Tunnel disappears into the rock
91
+
92
+ Tell me what to do ? go tunnel
93
+
94
+ I'm in a dingy north-south tunnel
95
+ Obvious exits: South.
96
+ I can also see: Plywood door blocks the way north
97
+
98
+ Tell me what to do ? chop door
99
+ CRUNCH!
100
+ There's a passage beyond.
101
+
102
+ I'm in a dingy north-south tunnel
103
+ Obvious exits: South.
104
+ I can also see: Plywood, Passage disappears into the rock
105
+
106
+ Tell me what to do ? go passage
107
+
108
+ I'm in a gloomy north-south passage
109
+ Obvious exits: South.
110
+ I can also see: Oak door blocks the way north
111
+
112
+ Tell me what to do ? ram door
113
+ DOOSH!
114
+ There's an entrance beyond.
115
+
116
+ I'm in a gloomy north-south passage
117
+ Obvious exits: South.
118
+ I can also see: Oak, Entrance to the north
119
+
120
+ Tell me what to do ? go entrance
121
+
122
+ I'm in a empty room
123
+ Obvious exits: South.
124
+
125
+ Tell me what to do ? drop trunk
126
+ O.K.
127
+ Tell me what to do ? drop axe
128
+ O.K.
129
+ Tell me what to do ? south
130
+
131
+ I'm in a gloomy north-south passage
132
+ Obvious exits: South.
133
+ I can also see: Oak, Entrance to the north
134
+
135
+ Tell me what to do ? get oak
136
+ O.K.
137
+ Tell me what to do ? south
138
+
139
+ I'm in a dingy north-south tunnel
140
+ Obvious exits: South.
141
+ I can also see: Plywood, Passage disappears into the rock
142
+
143
+ Tell me what to do ? get plywood
144
+ O.K.
145
+ Tell me what to do ? south
146
+
147
+ I'm in a rocky area by an outcrop
148
+ Obvious exits: South, West.
149
+ I can also see: Old-fashioned brass lamp, Balsa wood, Tunnel disappears into the rock
150
+
151
+ Tell me what to do ? get balsa
152
+ O.K.
153
+ Tell me what to do ? south
154
+
155
+ I'm in a glade
156
+ Obvious exits: North, South, West.
157
+ I can also see: Beech tree
158
+
159
+ Tell me what to do ? drop oak
160
+ O.K.
161
+ Tell me what to do ? drop plywood
162
+ O.K.
163
+ Tell me what to do ? drop balsa
164
+ O.K.
165
+ Tell me what to do ? light balsa
166
+ OK. It burns up very quickly.
167
+ My match goes out.
168
+ The plywood also catches fire and burns quickly.
169
+ The oak catches, and becomes a roaring fire.
170
+ Smoke pours upwards.
171
+ Tell me what to do ? climb tree
172
+
173
+ I'm in a the top of a beech tree
174
+ Obvious exits: Down.
175
+ I can also see: Wild honey, Drowsy bees, Bees' nest
176
+
177
+ Tell me what to do ? get honey
178
+ O.K.
179
+ Tell me what to do ? down
180
+
181
+ I'm in a glade
182
+ Obvious exits: North, South, West.
183
+ I can also see: Beech tree, Blazing hot fire
184
+
185
+ Tell me what to do ? north
186
+
187
+ I'm in a rocky area by an outcrop
188
+ Obvious exits: South, West.
189
+ I can also see: Old-fashioned brass lamp, Tunnel disappears into the rock
190
+
191
+ Tell me what to do ? get lamp
192
+ O.K.
193
+ Tell me what to do ? west
194
+
195
+ I'm in a dismal swamp
196
+ Obvious exits: South, East.
197
+ I can also see: -SOLID- stump, Evil smelling mud, Swamp gas, Patches of "OILY" slime, Chiggers
198
+
199
+ Tell me what to do ? south
200
+
201
+ I'm in a clearing. There's a small hut to the west.
202
+ Obvious exits: North, South, East, West.
203
+
204
+ Tell me what to do ? south
205
+
206
+ I'm in a forest
207
+ Obvious exits: North, East.
208
+ I can also see: Path leads south into the forest, Very thin black bear
209
+
210
+ Tell me what to do ? give honey
211
+ Bear eats the honey and falls asleep.
212
+ Tell me what to do ? follow path
213
+
214
+ I'm in a overgrown path in a dark forest
215
+ Obvious exits: North.
216
+ I can also see: Huge vase
217
+
218
+ Tell me what to do ? get vase
219
+ O.K.
220
+ Tell me what to do ? north
221
+
222
+ I'm in a forest
223
+ Obvious exits: North, East.
224
+ I can also see: Path leads south into the forest, Sleeping bear
225
+
226
+ Tell me what to do ? east
227
+
228
+ I'm in a forest
229
+ Obvious exits: North, West.
230
+ I can also see: Bubbling pool
231
+
232
+ Tell me what to do ? examine vase
233
+ It's bigger than I am.
234
+ Tell me what to do ? hold breath
235
+ OK
236
+ I can only hold my breath for
237
+ 5 more turns.
238
+ Tell me what to do ? go pool
239
+
240
+ I'm in a bubbling pool, just below the water level
241
+ Obvious exits: Up.
242
+ I can also see: inflow from the south
243
+
244
+ I can only hold my breath for
245
+ 4 more turns.
246
+ Tell me what to do ? go inflow
247
+
248
+ I'm swimming in an underground river.
249
+ Light pours from the north.
250
+ Obvious exits: North, South.
251
+
252
+ I can only hold my breath for
253
+ 3 more turns.
254
+ Tell me what to do ? south
255
+
256
+ I'm swimming in an underground river.
257
+ There's a faint glimmer of light to the north.
258
+ Obvious exits: North, South.
259
+
260
+ I can only hold my breath for
261
+ 2 more turns.
262
+ Tell me what to do ? drop vase
263
+ O.K.
264
+ I can only hold my breath for
265
+ 1 more turns.
266
+ Tell me what to do ? go vase
267
+
268
+ I'm INSIDE a huge vase!
269
+ I can also see: Iron key
270
+
271
+ I have to breathe NOW!
272
+ Tell me what to do ? get key
273
+ O.K.
274
+ Tell me what to do ? hold breath
275
+ OK
276
+ I can only hold my breath for
277
+ 5 more turns.
278
+ Tell me what to do ? get out
279
+
280
+ I'm swimming in an underground river.
281
+ There's a faint glimmer of light to the north.
282
+ Obvious exits: North, South.
283
+ I can also see: Huge vase
284
+
285
+ I can only hold my breath for
286
+ 4 more turns.
287
+ Tell me what to do ? south
288
+
289
+ I'm swimming in an underground river.
290
+ There's a faint glimmer of light to the south.
291
+ Obvious exits: North, South.
292
+
293
+ I can only hold my breath for
294
+ 3 more turns.
295
+ Tell me what to do ? south
296
+
297
+ I'm swimming in an underground river.
298
+ Light pours from the south.
299
+ Obvious exits: North, South.
300
+
301
+ I can only hold my breath for
302
+ 2 more turns.
303
+ Tell me what to do ? south
304
+
305
+ I'm in a brightly lit underground chamber.
306
+ An underground river disappears into the north wall.
307
+ Obvious exits: North.
308
+ I can also see: *Tin stoat*
309
+
310
+ I can only hold my breath for
311
+ 1 more turns.
312
+ Tell me what to do ? get stoat
313
+ O.K.
314
+ I have to breathe NOW!
315
+ Tell me what to do ? hold breath
316
+ OK
317
+ I can only hold my breath for
318
+ 5 more turns.
319
+ Tell me what to do ? north
320
+
321
+ I'm swimming in an underground river.
322
+ Light pours from the south.
323
+ Obvious exits: North, South.
324
+
325
+ I can only hold my breath for
326
+ 4 more turns.
327
+ Tell me what to do ? north
328
+
329
+ I'm swimming in an underground river.
330
+ There's a faint glimmer of light to the south.
331
+ Obvious exits: North, South.
332
+
333
+ I can only hold my breath for
334
+ 3 more turns.
335
+ Tell me what to do ? north
336
+
337
+ I'm swimming in an underground river.
338
+ There's a faint glimmer of light to the north.
339
+ Obvious exits: North, South.
340
+ I can also see: Huge vase
341
+
342
+ I can only hold my breath for
343
+ 2 more turns.
344
+ Tell me what to do ? go vase
345
+
346
+ I'm INSIDE a huge vase!
347
+
348
+ I can only hold my breath for
349
+ 1 more turns.
350
+ Tell me what to do ? wait
351
+ OK
352
+ I have to breathe NOW!
353
+ Tell me what to do ? hold breath
354
+ OK
355
+ I can only hold my breath for
356
+ 5 more turns.
357
+ Tell me what to do ? get out
358
+
359
+ I'm swimming in an underground river.
360
+ There's a faint glimmer of light to the north.
361
+ Obvious exits: North, South.
362
+ I can also see: Huge vase
363
+
364
+ I can only hold my breath for
365
+ 4 more turns.
366
+ Tell me what to do ? north
367
+
368
+ I'm swimming in an underground river.
369
+ Light pours from the north.
370
+ Obvious exits: North, South.
371
+
372
+ I can only hold my breath for
373
+ 3 more turns.
374
+ Tell me what to do ? north
375
+
376
+ I'm in a bubbling pool, just below the water level
377
+ Obvious exits: Up.
378
+ I can also see: inflow from the south
379
+
380
+ I can only hold my breath for
381
+ 2 more turns.
382
+ Tell me what to do ? up
383
+
384
+ I'm in a forest
385
+ Obvious exits: North, West.
386
+ I can also see: Bubbling pool
387
+
388
+ I can only hold my breath for
389
+ 1 more turns.
390
+ Tell me what to do ? north
391
+
392
+ I'm in a glade
393
+ Obvious exits: North, South, West.
394
+ I can also see: Beech tree, Blazing hot fire
395
+
396
+ I have to breathe NOW!
397
+ Tell me what to do ? west
398
+
399
+ I'm in a clearing. There's a small hut to the west.
400
+ Obvious exits: North, South, East, West.
401
+
402
+ Tell me what to do ? west
403
+
404
+ I'm in a small wooden hut.
405
+ Obvious exits: East.
406
+ I can also see: Sign, *Platinum chain*, *Gold crown*, *Silver medallion*, *Bronze sceptre*, *Zinc goblet*
407
+
408
+ Tell me what to do ? drop stoat
409
+ O.K.
410
+ Tell me what to do ? score
411
+ I've stored 6 treasures. On a scale of 0 to 100, that rates 100.
412
+ Well done.
413
+ The game is now over.
@@ -0,0 +1,225 @@
1
+ #<struct ScottKit::Game::Compiler::CGame
2
+ ident=nil,
3
+ version=nil,
4
+ unknown1=nil,
5
+ unknown2=nil,
6
+ start="cave",
7
+ treasury="throne",
8
+ maxload=nil,
9
+ wordlen=nil,
10
+ lighttime=nil,
11
+ lightsource="lamp",
12
+ rooms=
13
+ [#<struct ScottKit::Game::Compiler::CRoom name=nil, desc=nil, exits={}>,
14
+ #<struct ScottKit::Game::Compiler::CRoom
15
+ name="cave",
16
+ desc="cave mouth",
17
+ exits={}>,
18
+ #<struct ScottKit::Game::Compiler::CRoom
19
+ name="throne",
20
+ desc="gorgeously decorated throne room",
21
+ exits={"south"=>"chamber"}>,
22
+ #<struct ScottKit::Game::Compiler::CRoom
23
+ name="chamber",
24
+ desc="square chamber",
25
+ exits={"east"=>"dungeon", "north"=>"throne", "west"=>"cave"}>,
26
+ #<struct ScottKit::Game::Compiler::CRoom
27
+ name="dungeon",
28
+ desc="gloomy dungeon",
29
+ exits={"west"=>"chamber", "north"=>"crypt"}>,
30
+ #<struct ScottKit::Game::Compiler::CRoom
31
+ name="cell",
32
+ desc="dungeon cell",
33
+ exits={"north"=>"dungeon"}>,
34
+ #<struct ScottKit::Game::Compiler::CRoom
35
+ name="crypt",
36
+ desc="damp, dismal crypt",
37
+ exits={"south"=>"dungeon"}>],
38
+ items=
39
+ [#<struct ScottKit::Game::Compiler::CItem
40
+ name="doorbell",
41
+ desc="doorbell",
42
+ called=nil,
43
+ where=1>,
44
+ #<struct ScottKit::Game::Compiler::CItem
45
+ name="entrance",
46
+ desc="entrance to cave",
47
+ called=nil,
48
+ where=0>,
49
+ #<struct ScottKit::Game::Compiler::CItem
50
+ name="sign",
51
+ desc="Sign says: leave treasure here, then say SCORE",
52
+ called=nil,
53
+ where=2>,
54
+ #<struct ScottKit::Game::Compiler::CItem
55
+ name="lamp",
56
+ desc="old-fashioned brass lamp",
57
+ called="lamp",
58
+ where=2>,
59
+ #<struct ScottKit::Game::Compiler::CItem
60
+ name="cross",
61
+ desc="Wooden cross",
62
+ called="cross",
63
+ where=3>,
64
+ #<struct ScottKit::Game::Compiler::CItem
65
+ name="door",
66
+ desc="Locked door",
67
+ called=nil,
68
+ where=4>,
69
+ #<struct ScottKit::Game::Compiler::CItem
70
+ name="key",
71
+ desc="Brass key",
72
+ called="key",
73
+ where="crypt">,
74
+ #<struct ScottKit::Game::Compiler::CItem
75
+ name="door2",
76
+ desc="Open door leads south",
77
+ called=nil,
78
+ where=0>,
79
+ #<struct ScottKit::Game::Compiler::CItem
80
+ name="coin",
81
+ desc="*Gold coin*",
82
+ called="coin",
83
+ where=5>,
84
+ #<struct ScottKit::Game::Compiler::CItem
85
+ name="vampire",
86
+ desc="Vampire",
87
+ called=nil,
88
+ where=6>],
89
+ actions=
90
+ [#<struct ScottKit::Game::Compiler::CAction
91
+ verb="score",
92
+ noun=nil,
93
+ conds=[],
94
+ instructions=[["score", []]],
95
+ comment=nil,
96
+ gathered_args=nil>,
97
+ #<struct ScottKit::Game::Compiler::CAction
98
+ verb="inventory",
99
+ noun=nil,
100
+ conds=[],
101
+ instructions=[["inventory", []]],
102
+ comment=nil,
103
+ gathered_args=nil>,
104
+ #<struct ScottKit::Game::Compiler::CAction
105
+ verb="look",
106
+ noun=nil,
107
+ conds=[],
108
+ instructions=[["look", []]],
109
+ comment=nil,
110
+ gathered_args=nil>,
111
+ #<struct ScottKit::Game::Compiler::CAction
112
+ verb=nil,
113
+ noun=nil,
114
+ conds=[["!flag", "1"]],
115
+ instructions=
116
+ [["print", ["Welcome to the Tutorial adventure."]],
117
+ ["print", ["You must find a gold coin and store it."]],
118
+ ["set_flag", ["1"]]],
119
+ comment=nil,
120
+ gathered_args=nil>,
121
+ #<struct ScottKit::Game::Compiler::CAction
122
+ verb="go",
123
+ noun="entrance",
124
+ conds=[["here", "entrance"]],
125
+ instructions=[["goto", ["chamber"]], ["look", []]],
126
+ comment=nil,
127
+ gathered_args=nil>,
128
+ #<struct ScottKit::Game::Compiler::CAction
129
+ verb="ring",
130
+ noun="doorbell",
131
+ conds=[["here", "doorbell"], ["!here", "entrance"]],
132
+ instructions=[["set_counter", ["4"]], ["print", ["Ding dong!"]]],
133
+ comment=nil,
134
+ gathered_args=nil>,
135
+ #<struct ScottKit::Game::Compiler::CAction
136
+ verb=nil,
137
+ noun=nil,
138
+ conds=[],
139
+ instructions=[["dec_counter", []]],
140
+ comment=nil,
141
+ gathered_args=nil>,
142
+ #<struct ScottKit::Game::Compiler::CAction
143
+ verb=nil,
144
+ noun=nil,
145
+ conds=[["counter_eq", "2"]],
146
+ instructions=[["print", ["I hear an ominous rumble."]]],
147
+ comment=nil,
148
+ gathered_args=nil>,
149
+ #<struct ScottKit::Game::Compiler::CAction
150
+ verb=nil,
151
+ noun=nil,
152
+ conds=[["counter_eq", "1"]],
153
+ instructions=
154
+ [["put", ["entrance", "cave"]],
155
+ ["print", ["The rocks collapse leaving a way in."]],
156
+ ["look", []]],
157
+ comment=nil,
158
+ gathered_args=nil>,
159
+ #<struct ScottKit::Game::Compiler::CAction
160
+ verb="wait",
161
+ noun=nil,
162
+ conds=[],
163
+ instructions=[["print", ["Time passes ..."]]],
164
+ comment=nil,
165
+ gathered_args=nil>,
166
+ #<struct ScottKit::Game::Compiler::CAction
167
+ verb=nil,
168
+ noun=nil,
169
+ conds=[["at", "chamber"], ["flag", "15"]],
170
+ instructions=[["clear_dark", []], ["look", []]],
171
+ comment=nil,
172
+ gathered_args=nil>,
173
+ #<struct ScottKit::Game::Compiler::CAction
174
+ verb=nil,
175
+ noun=nil,
176
+ conds=[["at", "dungeon"], ["!flag", "15"]],
177
+ instructions=[["set_dark", []], ["look", []]],
178
+ comment=nil,
179
+ gathered_args=nil>,
180
+ #<struct ScottKit::Game::Compiler::CAction
181
+ verb=nil,
182
+ noun="25",
183
+ conds=[["at", "dungeon"]],
184
+ instructions=[["print", ["I smell something rotting to the north."]]],
185
+ comment=nil,
186
+ gathered_args=nil>,
187
+ #<struct ScottKit::Game::Compiler::CAction
188
+ verb="open",
189
+ noun="door",
190
+ conds=[["here", "door"], ["!present", "key"]],
191
+ instructions=[["print", ["It's locked."]]],
192
+ comment=nil,
193
+ gathered_args=nil>,
194
+ #<struct ScottKit::Game::Compiler::CAction
195
+ verb="open",
196
+ noun="door",
197
+ conds=[["here", "door"]],
198
+ instructions=
199
+ [["swap", ["door", "door2"]], ["print", ["OK"]], ["look", []]],
200
+ comment=nil,
201
+ gathered_args=nil>,
202
+ #<struct ScottKit::Game::Compiler::CAction
203
+ verb="go",
204
+ noun="door",
205
+ conds=[["here", "door2"]],
206
+ instructions=[["goto", ["cell"]], ["look", []]],
207
+ comment=nil,
208
+ gathered_args=nil>,
209
+ #<struct ScottKit::Game::Compiler::CAction
210
+ verb=nil,
211
+ noun=nil,
212
+ conds=[["here", "vampire"], ["!carried", "cross"]],
213
+ instructions=
214
+ [["print", ["Vampire bites me! I'm dead!"]], ["game_over", []]],
215
+ comment="vampire attacks 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 cowers away from the cross!"]]],
222
+ comment=nil,
223
+ gathered_args=nil>],
224
+ verbgroups=[["take", "get"], ["leave", "drop"]],
225
+ noungroups=[["lamp", "lantern"], ["doorbell", "bell"]]>