/
object.txt
executable file
·632 lines (551 loc) · 25.5 KB
/
object.txt
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
#include <stdio.h>
#include "object.h"
typedef struct object {
bool (*condition)(void);
const char *description;
const char **tags;
struct object *location;
struct object *destination;
struct object *prospect;
const char *details;
const char *contents;
const char *textGo;
int weight;
int capacity;
int health;
} OBJECT;
extern OBJECT objs[];
- entrance
description "Entrance"
tags "entrance"
details "A weathered stone doorway attached to the cliffside stands to your East, vines crawl across the aged rock and water trickles down the jagged precipice and forms pool at its feet.\n To your West is the road back to the village, spanning across a lush green field.\n Birds can be heard chirping in the distance.\n"
capacity 9999
- wallEntrance
description "a lush field"
tags "north", "south", "field"
location entrance
destination entrance
details "A field spreads out as far as you can see.\n"
textGo "You stare off into the distance at the field, but remain where you are.\n"
- intoFountain
description "a stone doorway to the east"
tags "east", "door", "doorway", "cliffside"
location entrance
destination fountainRoom
details "Vines crawl across the aged rock and water trickles down the jagged precipice to forms pools at its feet.\n"
textGo "You walk through the doorway.\n"
- intoVillage
description "a road to your west"
tags "west", "path", "village"
location entrance
destination village
details "To your West is the road back to the village, spanning across a lush green field.\n"
textGo "You walk down the winding road back home.\n"
- village
description "Village"
tags "village"
details "No adventerous spirit in you, eh? How can you win the game you don't attempt?\n"
capacity 9999
- wallVillage
description "a lively village"
tags "north", "south", "east"
location village
destination village
details "You see many familiar faces as you explore the village.\n"
textGo "You make your way through the village.\n"
- villageToEntrance
description "path to entrance"
tags "west"
location village
destination entrance
details "A path leads to the entrance.\n"
textGo "You walk back down the path.\n"
- fountainRoom
description "Fountain Room"
tags "fountainRoom"
details "The room is dimly lit with torch light, yet the air feels damp and humid.\n A running fountain can be seen in the center of the space; a circular pool with the statue of a goblin spews water from its mouth.\n Moss grows from the stonework surrounding the fountain and is interspersed around the room structure.\n There are wooden doors to your North and East.\n"
capacity 9999
- wallFountain
tags "south"
location fountainRoom
destination fountainRoom
details "A nondescript wall on the south end of the room.\n"
textGo "You run into the wall, receiving a bruise on your chin for the effort. This isn't Hogwarts...\n"
- intoEntrance
description "a stone doorway to the west"
tags "west"
location fountainRoom
destination entrance
details "A weathered stone doorway attached to the cliffside\n"
textGo "You walk through the doorway.\n"
- intoTrader
description "a wooden doorway to the east"
tags "east"
location fountainRoom
destination trader
details "A wooden doorway is slightly ajar. A warm light filters in through the crack.\n"
textGo "You walk through the doorway.\n"
- intoPit
condition { return polishedKey->location == player; }
description "an unlocked doorway to the north"
tags "north"
location fountainRoom
destination pit
details "A wooden doorway is closed. A lock, now open, gleams under the door's handle.\n"
textGo "You walk through the doorway.\n"
- intoPitBlocked
condition { return polishedKey->location != player; }
description "a locked doorway to the north"
tags "north"
location fountainRoom
prospect pit
details "A wooden doorway is closed. A lock gleams under the door's handle.\n"
textGo "The lock rattles. You can't break through.\n"
- objectFountain
description "a fountain"
tags "fountain", "goblin fountain"
location fountainRoom
details "The water is clear and pristine, the bottom of the fountain is a gravel pattern.\n At the bottom of the fountain you see something glimmer. It’s a gold coin!\n It twinkles as the water moves about the surface, refracting the light over it.\n"
weight 100
- coin
description "a gold coin"
tags "gold", "coin", "gold coin"
location objectFountain
details "The shiny coin glimmers with a distinct glint.\n"
weight 1
- trader
description "Trader Room"
tags "trader"
details "The room is small but well lit, a goblin sits at the other end of the room and looks at you curiously.\n On a tattered mat colored with patterns of red and violet is spread out various items, many with distinct shines and gleams.\n There is a wooden door to your West and a strange pattern of bricks on the wall to your South.\n"
capacity 9999
- mat
description "a colorful mat"
tags "mat", "rug", "colorful mat"
location trader
details "Spread across the mat in careful tidy rows are various objects, such as smoothed glass, bent silverware, and a single polished key.\n The goblin guards over the objects closely, preventing them from being taken.\n"
weight 999
- traderWall
tags "north", "east"
location trader
destination trader
details "The wall is dirty. Upon closer inspection, the wall is very dirty.\n"
textGo "You can't walk through a solid wall...\n"
- traderToFountain
description "a wooden doorway to the west"
tags "west"
location trader
destination fountainRoom
details "A wooden doorway is ajar. It leads back to the fountain room.\n"
textGo "You walk through the doorway.\n"
- traderToSecret
condition { return traderToSecretBlocked->health <= 0; }
description "a hole in the wall to the south"
tags "south"
location trader
destination secret
details "The wall has been broken through, showing a hidden room that lays beyond.\n"
textGo "You walk through the debris.\n"
- traderToSecretBlocked
condition { return traderToSecretBlocked->health > 0; }
description "a mysteriously colored wall to the south"
tags "south"
location trader
prospect secret
details "The wall is mysteriously colored, and a few bricks appear out of place.\n"
textGo "You push on the bricks and they move ever so slightly, but not enough to walk through.\n"
health 1
- secret
description "Secret Room"
tags "secret"
details "The room is covered with ornate flowery wallpaper of blues, greens, and gold.\n A neon sign flashes in yellow on the opposite end of the room, it reads ‘You found the secret!’\n There is a wooden door to your North.\n"
capacity 9999
- wallSecret
tags "south", "east", "west"
location secret
destination secret
details "The whole room sparkles, even the wall.\n"
textGo "Nope. There's only one false wall in this game.\n"
- secretToTrader
description "wall to trader"
tags "north"
location secret
destination trader
details "You've already broken through the wall, which leads back to the trader room.\n"
textGo "You walk through the debris.\n"
- pit
description "The Pit"
tags "pit"
details "The huge room expands out in front of you, in the center a round pit descends into an inky blackness.\n The pits diameter almost meets the sides of the room itself, but leaves enough space to allow passage around the edges.\n Sitting on the pits edge is a goblin, its feet dangling over. The goblin doesn’t take any notice of you but instead peers downward with a cheery smile on its face, moving its legs like pendulums.\n There are wooden doors to your North, East and South.\n"
capacity 9999
- wallPit
tags "west"
location pit
destination pit
details "The edge of the pit makes it impossible to reach this side of the room.\n"
textGo "As you try to move west, you fall into the pit. It takes several grueling hours to make your way out.\n"
- pitToFountain
description "a wooden doorway to the south"
tags "south"
location pit
destination fountainRoom
details "A wooden doorway is closed. A lock gleams under the door's handle.\n"
textGo "You walk through the doorway.\n"
- pitToRiddler
condition { return blueKey->location == player; }
description "a blue doorway to the east"
tags "east"
location pit
destination riddler
details "The blue doorway is open. You have the key.\n"
textGo "You walk through the doorway.\n"
- pitToRiddlerBlocked
condition { return blueKey->location != player; }
description "a locked blue doorway to the east"
tags "east"
location pit
prospect riddler
details "The blue doorway is closed. A lock gleams under the door's handle.\n"
textGo "You bounce off the wall. Ouch.\n"
- pitToBrawler
description "a wooden doorway to the north"
tags "north"
location pit
destination brawler
details "A wooden doorway is closed. A lock gleams under the door's handle.\n"
textGo "You walk through the doorway.\n"
- brawler
description "The Brawler"
tags "brawler"
details "The room is very messy, the ground covered with bits of fractured wooden debri and other rubbish.\n To the East is a wooden door with the large picture of a key carved on it. Standing between you and the door is a goblin, it has wild eyes and brandishes a club.\n Every move you make it reacts to so to remain between you and the key door.\n There are wooden doors to your South and East.\n"
capacity 9999
- club
description "a table leg"
tags "club", "leg", "table leg"
location brawler
details "The table leg looks like it would make a strudy club.\n"
weight 1
- debris
description "a lot of junk"
tags "debris", "trash", "rubbish", "wood", "junk"
location brawler
details "Looking at the broken wood and other rubbish you see a table leg broken into the rough shape of a club. Nothing else looks particularly useful.\n"
weight 100
- wallBrawler
tags "north", "west"
location brawler
destination brawler
details "The walls have a stench, as if they haven't been cleaned in years.\n"
textGo "You run your finger along the wall. When you pull away, a residue stays on your hand, making it sticky.\n"
- brawlerToPit
description "a wooden doorway to the south"
tags "south"
location brawler
destination pit
details "The wooden doorway leads back to the pit.\n"
textGo "You walk through the doorway.\n"
- brawlerToKey
condition { return brawler->health <= 0; }
description "a door to the key room"
tags "east"
location brawler
destination key
details "The brawler is defeated, and the door is open behind him.\n"
textGo "You walk through the doorway.\n"
- brawlerToKeyBlocked
condition { return brawler->health > 0; }
description "a door to the key room"
tags "east"
location brawler
prospect key
details "You can make out any details about the door behind the brawler's looming frame.\n"
textGo "The brawler swipes at you angrily. You stay where you are.\n"
- key
description "Key Room"
tags "key room"
details "The room is small and made of red brick with mortar. On the wall hanging from a rusty coat hook is a single blue key.\n There is a wooden door to your West.\n"
capacity 9999
- blueKey
description "a blue key"
tags "key", "blue key"
location key
details "The key is a strange blue color.\n"
weight 1
- wallKey
tags "south", "east", "north"
location key
destination key
details "The walls are hidden away in shadow.\n"
textGo "It's too dark to go that way.\n"
- keyToBrawler
description "a door to the brawler room"
tags "west"
location key
destination brawler
details "A wooden doorway is closed. A lock gleams under the door's handle.\n"
textGo "You walk through the doorway.\n"
- riddler
description "The Riddler's Room"
tags "riddler"
details "The long room is lit with lanterns on either sides of the walls, lavender colored wallpaper peels in flakes onto the floor.\n On the left side sits a goblin upon a wooden stool with a stack of books to its side.\n The goblin leafs through leather bound tome absentmindedly, only looking up for a second to acknowledge your presence. There are wooden doors to your East and West.\n"
capacity 9999
- wallRiddler
tags "south", "north"
location riddler
destination riddler
details "There are lanterns on the wall, illuminating wallpaper that is peeling terribly.\n"
textGo "You get to close to the wall and nearly set your hair on fire from one of the lanterns.\n"
- riddlerToPit
description "a wooden doorway to the west"
tags "west"
location riddler
destination pit
details "A wooden doorway.\n"
textGo "You walk through the doorway.\n"
- riddlerToGallery
condition { return goblinRiddler->health <= 50; }
description "a wooden doorway to the east"
tags "east"
location riddler
destination gallery
details "A wooden doorway.\n"
textGo "You walk through the doorway.\n"
- riddlerToGalleryBlocked
condition { return goblinRiddler->health > 50; }
description "a closed doorway to the east"
tags "east"
location riddler
prospect gallery
details "A wooden doorway.\n"
textGo "'Tsk, tsk,' says the riddler. 'No leaving until you answer my riddle!'.\n"
- gallery
description "Gallery"
tags "gallery"
details "The long room stretches to your left and right, rose colored wallpaper peels in flakes onto the floor.\n Red curtains sway on either corner of the room though they seem to stop moving when you look straight at them.\n On the edge of the wall are three busts, the first of a goblin with its long nose pointed up, the second with its nose pointing straight ahead, and the third with its nose point downed.\n The busts stand on pedestals and below them are square wooden buttons. There are wooden doors to your West, North, and South.\n"
capacity 9999
- pedestals
description "pedestals"
tags "bust", "pedestal", "statue", "busts", "statues", "pedestals"
location gallery
details "The pedestals hold three busts, the first of a goblin with its long nose pointed up, the second with its nose pointing straight ahead, and the third with its nose point downed. The buttons are labeled one, two, and three respectively.\n"
weight 9999
- buttonOne
description "button one"
tags "button one", "first button", "1st button", "button 1", "1", "one", "button"
location pedestals
details "The button is below a bust of a goblin, its long nose pointed toward the ceiling.\n"
health -1
weight 9999
- buttonTwo
description "button two"
tags "button two", "first button", "2nd button", "button 2", "2", "two", "button"
location pedestals
details "The button is below a bust of a goblin, its short nose pointing ahead.\n"
health -1
weight 9999
- buttonThree
description "button three"
tags "button three", "third button", "3rd button", "button 3", "3", "three", "button"
location pedestals
details "The button is below a bust of a goblin, its long noise pointed toward the ceiling.\n"
health -1
weight 9999
- wallGallery
tags "east"
location gallery
destination gallery
details "There are three busts along the wall.\n"
textGo "There's nowhere to go!\n"
- galleryToStore
description "a wooden doorway to the north"
tags "north"
location gallery
destination store
details "A wooden doorway.\n"
textGo "You walk through the doorway.\n"
- galleryToGuard
condition { return threeGoblins->health <= 0; }
description "an ornate doorway to the south"
tags "south"
location gallery
destination guard
details "An ornate doorway.\n"
textGo "You walk through the doorway.\n"
- galleryToGuardBlocked
condition { return threeGoblins->health > 0; }
description "an ornate doorway to the south"
tags "south"
location gallery
prospect guard
details "An ornate doorway to the south is mysteriously closed.\n"
textGo "You shall not pass.\n"
- galleryToRiddler
description "a wooden doorway to the west"
tags "west"
location gallery
destination riddler
details "A wooden doorway.\n"
textGo "You walk through the doorway.\n"
- store
description "Storeroom"
tags "store"
details "The small room is almost filled to the brim with barrels and crates. A dim lamp on the ceiling only barely makes the room visible.\n On one of the crates sits an unfurled scroll nailed to the crates frame; it has writing on it.\n There is a wooden door to your South.\n"
capacity 9999
- scroll
description "an unfurled scroll"
tags "scroll", "unfurled scroll"
location store
details "The scroll reads ‘Down the road three goblins strolled, moving on their way.\n One looked up and said to them ‘Looks like rain today.’\n The other looked down and commented ‘The grounds all muddy and gray.’\n The last looked forward swiftly said ‘Then quite quickly we should be on our way.’\n"
weight 10
- wallStore
tags "north", "east", "west"
location store
destination store
details "There are cobwebs on the dusty walls.\n"
textGo "You really don't want to touch the cobwebs on the walls.\n"
- storeToGallery
description "a wooden doorway to the south"
tags "south"
location store
destination gallery
details "A wooden doorway.\n"
textGo "You walk through the doorway.\n"
- guard
description "Guard Room"
tags "guard"
details "The room is well lit and covered with ornate silver wallpaper. To your East is a golden door with a cup image engraved on it.\n Between you and the golden door stands a goblin wearing armor, it holds a steel mace to its side.\n The goblins eyes are stern and its stance is disciplined. There is a wooden door to your North and a golden door to your East.\n"
capacity 9999
- wallGuard
tags "south", "west"
location guard
destination guard
details "There is nothing interesting on this wall.\n"
textGo "Why even try at this point?\n"
- guardToGallery
description "a wooden doorway to the north"
tags "north"
location guard
destination gallery
details "A wooden doorway.\n"
textGo "You walk through the doorway.\n"
- guardToThrone
condition {return goblinGuardUndefeated->health <= 0; }
description "a golden doorway to the east"
tags "east"
location guard
destination throne
details "A golden doorway.\n"
textGo "You walk through the doorway.\n"
- guardToThroneBlocked
condition {return goblinGuardUndefeated->health > 0; }
description "a golden doorway to the east"
tags "east"
location guard
prospect throne
details "A guard prevents you from proceeding.\n"
textGo "The guard takes a menacing step.\n"
- throne
description "The Throne Room"
tags "throne"
details "The room glimmers with jewels and fine tapestries of red and violet.\n Sitting on a gold throne is a goblin wearing a crown and draped in ornate robes.\n It holds the Goblin Goblet in its hands in front of you.\n"
capacity 9999
- wallThrone
tags "north", "south", "east"
location throne
destination throne
details "The wall is covered in tapestries of red and violet.\n"
textGo "You play in the tapestry for a bit before returning to the center of the throne room.\n"
- throneToGuard
description "a golden doorway to the west"
tags "west"
location throne
destination guard
details "A golden doorway.\n"
textGo "You walk through the doorway.\n"
- goblinTraderNoCoin
condition { return coin->location == objectFountain || coin->location == player; }
description "Bub the Trader of Shinies"
tags "trader", "goblin trader", "goblin", "bub"
location trader
details "The goblin says ‘Oh hello! I am Bub the Trader of Shiny’s. I do so love shiny things, but not all shinies things are equal to me, oh no. If I had to choose to between one shiny and a shinier shiny, I’d take the shinier shiny! Find me shinier shiny and I’ll give you a less shiny shiny.’\n"
contents "He has"
health 100
capacity 20
- polishedKey
description "a polished key"
tags "key", "polished key"
location goblinTraderHasCoin
details "The key is polished and has a dull glint.\n"
weight 1
- goblinTraderHasCoin
condition { return coin->location != objectFountain && coin->location != player; }
description "Bub the Trader of Shinies"
tags "trader", "goblin trader", "goblin", "bub"
location trader
details "The goblin say’s ‘Oh yes! This is very shiny shiny! Here, you have have this less shiny shiny in return.’ (Type 'get key from bub').\n"
contents "He has"
health 100
capacity 20
- goblinBrawlerUndefeated
condition { return goblinBrawlerUndefeated->health > 0; }
description "Bumpy the Cudgelist"
tags "brawler", "goblin brawler", "goblin", "bumpy"
location brawler
details "The goblin says ‘You can’t get past me Bumpy the Cudgelist! I’ll bump your head if you so nearly try to make your way around.’ It waves its club above its head triumphantly.\n"
contents "He has"
health 50
capacity 20
- goblinBrawlerDefeated
condition { return goblinBrawlerUndefeated->health <= 0; }
description "Bumpy the Cudgelist"
tags "brawler", "goblin brawler", "goblin", "bumpy"
location brawler
details "The goblin is unconcious and doesn't say anything.\n"
contents "He has"
health 0
capacity 20
- goblinRiddler
description "Lerp the Riddlemaster"
tags "riddler", "goblin riddler", "goblin", "lerp"
location riddler
details "The goblin says ‘Hmm greetings! I an Lerp the Riddlemaster. I suppose you wish to go through that door over there. Hmm quite, quite. Well, I can open that door for you if you can solve my riddle!’ ‘I have lots to say but never speak,’ ‘I open but you cannot walk through me,’ ‘I have a spine but no bones.’ ‘What am I?’"
contents "He has"
health 100
capacity 20
- goblinGuardUndefeated
condition { return goblinGuardUndefeated->health > 0; }
description "Royal Gobo Guard Frank"
tags "guard", "goblin guard", "goblin", "frank"
location guard
details "The goblin does not answer…\n"
contents "He has"
health 75
capacity 20
- goblinGuardDefeated
condition { return goblinGuardUndefeated->health <= 0; }
description "Royal Gobo Guard Frank"
tags "guard", "goblin guard", "goblin", "frank"
location guard
details "The goblin is unconcious and does not say anything.\n"
contents "He has"
health 0
capacity 20
- goblinKing
description "King Gobo, Keeper of the Goblin Goblet"
tags "king", "goblin king", "goblin"
location throne
details "You have passed through all of the brave adventurer. Using you might and wit, you found your way through the Goblin Gauntlet! Know you may finally take your prize. I, King Gobo, Keeper of the Goblin Goblet bestow upon you my namesake. The Goblin Goblet is yours!!!\n"
contents "He has"
health 100
capacity 20
- threeGoblins
tags "trigger"
location gallery
health 100
- player
description "yourself"
tags "yourself"
location entrance
details "You would need a mirror to look at yourself.\n"
contents "You have"
health 100
capacity 20