neelthee-mansion 3.1.3__py3-none-any.whl → 3.2.0__py3-none-any.whl

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.
neelthee_mansion/Rooms.py CHANGED
@@ -24,6 +24,34 @@ KEY = [
24
24
  'π = desk',
25
25
  ]
26
26
 
27
+ class Door:
28
+ def __init__(self, RoomName, KeyCode=None) -> None:
29
+ self.destination = RoomName
30
+ self.lock = Lock(KeyCode) if KeyCode else None
31
+ self.reveal_count = 0
32
+ self.CurentRevealStr = "-" * len(self.lock.key_code) if isinstance(self.lock, Lock) else ""
33
+
34
+ def Unlock(self, key: Key, player):
35
+ return self.lock.unlock(key, player)
36
+
37
+ def GetRoom(self, currentroom):
38
+ if not self.lock.is_locked if isinstance(self.lock, Lock) else True:
39
+ return self.destination
40
+ else:
41
+ type_text("The door is locked.")
42
+ return currentroom
43
+
44
+ class SwitchDoor(Door):
45
+ def __init__(self, RoomOneName, RoomTwoName, KeyCode=None) -> None:
46
+ super.__init__(RoomOneName, Lock(KeyCode) if KeyCode else None, 0)
47
+ self.switch_destination = RoomTwoName
48
+
49
+ def GetRoom(self, currentroom):
50
+ if not self.lock.is_locked if isinstance(self.lock, Lock) else True:
51
+ return self.destination
52
+ else:
53
+ return self.switch_destination
54
+
27
55
  global map_dict, positions
28
56
 
29
57
  def string_to_2d_list(map_str):
@@ -101,18 +129,18 @@ ROOMS = {
101
129
  'position': (0, 8, 0),
102
130
  'discovered': True,
103
131
  'directions': {
104
- 'south': 'Kitchen',
105
- 'east': 'Dining Room',
106
- 'north': 'Armoury',
107
- 'up': 'Landing',
108
- 'easter': 'Cavegame',
132
+ 'south': Door('Kitchen'),
133
+ 'east': Door('Dining Room'),
134
+ 'north': Door('Armoury'),
135
+ 'up': Door('Landing'),
136
+ 'easter': Door('Cavegame'),
109
137
  },
110
138
  'item': item('torch'),
111
139
  'containers': {
112
- 'drawers': container([item('key')]),
140
+ 'drawers': container([Key('key', "629.IdnXwnt")]),
113
141
  },
114
142
  'info': 'You are in the hall of the house. There is a chest of %*RED*%drawers%*RESET*% against one wall, and flaming %*BLUE*%torch%*RESET*%es on the walls. You hear a \
115
- %*YELLOW*%smash%*RESET*% from the %*GREEN*%south%*RESET*%',
143
+ %*YELLOW*%smash%*RESET*% from the %*GREEN*%south%*RESET*%.',
116
144
  'map': '''
117
145
  ████║████
118
146
  █☼☼ █
@@ -124,20 +152,20 @@ ROOMS = {
124
152
  █╖ █
125
153
  ████║████''',
126
154
  'Hints': [
127
- 'Those %*RED*%drawers%*RESET*% look intresting',
128
- 'I wonder if those %*RED*%drawers%*RESET*% are locked',
129
- "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder",
130
- "I wonder what that %*YELLOW*%smash%*RESET*% from the %*GREEN*%south%*RESET*% was",
131
- "I should probably aviod that %*YELLOW*%smash%*RESET*%ing sound",
155
+ 'Those %*RED*%drawers%*RESET*% look intresting.',
156
+ 'I wonder if those %*RED*%drawers%*RESET*% are locked.',
157
+ "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder.",
158
+ "I wonder what that %*YELLOW*%smash%*RESET*% from the %*GREEN*%south%*RESET*% was.",
159
+ "I should probably aviod that %*YELLOW*%smash%*RESET*%ing sound.",
132
160
  ],
133
161
  },
134
162
 
135
163
  'Cavegame': {
136
164
  'room type': 'easter egg',
137
165
  'directions': {
138
- 'back': 'Hall',
166
+ 'back': Door('Hall'),
139
167
  },
140
- 'info': 'Cavegame, type "go back" to leave',
168
+ 'info': 'Cavegame, type "go back" to leave.',
141
169
  },
142
170
 
143
171
  'Kitchen': {
@@ -145,8 +173,8 @@ ROOMS = {
145
173
  'position': (0, 16, 0),
146
174
  'discovered': False,
147
175
  'directions': {
148
- 'north': 'Hall',
149
- 'east': 'Garden',
176
+ 'north': Door('Hall'),
177
+ 'east': Door('Garden'),
150
178
  },
151
179
  'item': item('rations'),
152
180
  'containers': {
@@ -173,8 +201,8 @@ ROOMS = {
173
201
  █ææææ√ææ█
174
202
  █████████''',
175
203
  'Hints': [
176
- 'I wonder if there is anything salvageable in the %*RED*%cupboards%*RESET*%',
177
- 'I should probably look around',
204
+ 'I wonder if there is anything salvageable in the %*RED*%cupboards%*RESET*%.',
205
+ 'I should probably look around.',
178
206
  ],
179
207
  },
180
208
 
@@ -183,16 +211,16 @@ ROOMS = {
183
211
  'position': (0, 8, 8),
184
212
  'discovered': False,
185
213
  'directions': {
186
- 'west': 'Hall',
187
- 'south': 'Garden',
188
- 'north': 'Sitting Room',
214
+ 'west': Door('Hall'),
215
+ 'south': Door('Garden'),
216
+ 'north': Door('Sitting Room'),
189
217
  },
190
218
  'item': item('potion'),
191
219
  'containers': {
192
220
  'chandelier': container([item('gem', 'valuable', 50)]),
193
221
  },
194
222
  'info': 'You are in the dining room, there is a dining table with 8 chairs around it in the middle of the room, and a %*RED*%chandelier%*RESET*% on the ceiling. You hear \
195
- %*YELLOW*%ripping%*RESET*% from the %*GREEN*%north%*RESET*%',
223
+ %*YELLOW*%ripping%*RESET*% from the %*GREEN*%north%*RESET*%.',
196
224
  'map': '''
197
225
  ████║████
198
226
  █ █
@@ -204,8 +232,8 @@ ROOMS = {
204
232
  █ █
205
233
  ████║████''',
206
234
  'Hints': [
207
- 'I wonder if there is anything in the %*RED*%chandelier',
208
- 'I wonder if there is anything around the room',
235
+ 'I wonder if there is anything in the %*RED*%chandelier.',
236
+ 'I wonder if there is anything around the room.',
209
237
  ],
210
238
  },
211
239
 
@@ -214,8 +242,8 @@ ROOMS = {
214
242
  'position': (0, 16, 8),
215
243
  'discovered': False,
216
244
  'directions': {
217
- 'north': 'Dining Room',
218
- 'west': 'Kitchen',
245
+ 'north': Door('Dining Room'),
246
+ 'west': Door('Kitchen'),
219
247
  },
220
248
  'info': 'You are in a bright garden you are in a garden with a gate out of the house.',
221
249
  'map': '''
@@ -229,7 +257,7 @@ ROOMS = {
229
257
  █ í
230
258
  █íííííííí''',
231
259
  'Hints': [
232
- 'I think I need a %*BLUE*%key%*RESET*% for the gate',
260
+ 'I think I need a %*BLUE*%key%*RESET*% for the gate.',
233
261
  ],
234
262
  },
235
263
 
@@ -239,8 +267,8 @@ ROOMS = {
239
267
  'discovered': False,
240
268
  'directions': {
241
269
  'south' :'Hall',
242
- 'east': 'Sitting Room',
243
- 'up': 'Tower Bottom',
270
+ 'east': Door('Sitting Room'),
271
+ 'up': Door('Tower Bottom'),
244
272
  },
245
273
  'containers': {
246
274
  'racks': container([item('sword', 'weapon', 3)]),
@@ -260,8 +288,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
260
288
  █ █
261
289
  ████║████''',
262
290
  'Hints': [
263
- 'Maybe there is something salvageable on the %*RED*%racks%*RESET*%',
264
- 'I wonder if that armour is salvageable',
291
+ 'Maybe there is something salvageable on the %*RED*%racks%*RESET*%.',
292
+ 'I wonder if that armour is salvageable.',
265
293
  ],
266
294
  },
267
295
 
@@ -270,8 +298,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
270
298
  'position': (0, 0, 8),
271
299
  'discovered': False,
272
300
  'directions': {
273
- 'west': 'Armoury',
274
- 'south': 'Dining Room',
301
+ 'west': Door('Armoury'),
302
+ 'south': Door('Dining Room'),
275
303
  'down': 'Basement 1',
276
304
  },
277
305
  'creatures stats': creature(
@@ -297,9 +325,9 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
297
325
  █ █
298
326
  ████║████''',
299
327
  'Hints': [
300
- 'That %*CYAN*%pig%*RESET*% seems dangerous',
301
- 'Those %*RED*%sofas%*RESET*% look comfy',
302
- "I wonder what's %*GREEN*%down%*RESET*% those stairs",
328
+ 'That %*CYAN*%pig%*RESET*% seems dangerous.',
329
+ 'Those %*RED*%sofas%*RESET*% look comfy.',
330
+ "I wonder what's %*GREEN*%down%*RESET*% those stairs.",
303
331
  ],
304
332
  },
305
333
 
@@ -309,9 +337,9 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
309
337
  'discovered': False,
310
338
  'directions': {
311
339
  'down': 'Hall',
312
- 'north': 'Tower Bottom',
313
- 'east': 'Bedroom',
314
- 'south': 'Balcony',
340
+ 'north': Door('Tower Bottom'),
341
+ 'east': Door('Bedroom'),
342
+ 'south': Door('Balcony'),
315
343
  },
316
344
  'containers': {
317
345
  'floorboards': container([item('money-pouch', 'valuable', 10)]),
@@ -328,7 +356,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
328
356
  █╖ █
329
357
  ████║████''',
330
358
  'Hints': [
331
- 'I wonder if I can pry one of the %*RED*%floorboards%*RESET*% back'
359
+ 'I wonder if I can pry one of the %*RED*%floorboards%*RESET*% back.'
332
360
  ],
333
361
  },
334
362
 
@@ -337,8 +365,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
337
365
  'position': (1, 8, 8),
338
366
  'discovered': False,
339
367
  'directions': {
340
- 'west': 'Landing',
341
- 'north': 'Office',
368
+ 'west': Door('Landing'),
369
+ 'north': Door('Office'),
342
370
  },
343
371
  'containers': {
344
372
  'bed': container([item('chamber-pot')]),
@@ -357,10 +385,10 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
357
385
  █╬ ☼☼§§█
358
386
  █████████''',
359
387
  'Hints': [
360
- "I wonder what's %*GREEN*%north%*RESET*%",
361
- 'I wonder if there is anything under the %*RED*%bed%*RESET*%',
362
- 'I wonder if there is anything in the %*RED*%drawers%*RESET*%',
363
- "I wonder what's in the %*RED*%wardrobe%*RESET*%",
388
+ "I wonder what's %*GREEN*%north%*RESET*%.",
389
+ 'I wonder if there is anything under the %*RED*%bed%*RESET*%.',
390
+ 'I wonder if there is anything in the %*RED*%drawers%*RESET*%.',
391
+ "I wonder what's in the %*RED*%wardrobe%*RESET*%.",
364
392
  ],
365
393
  },
366
394
 
@@ -369,8 +397,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
369
397
  'position': (1, 0, 8),
370
398
  'discovered': False,
371
399
  'directions': {
372
- 'south': 'Bedroom',
373
- 'west': 'Tower Bottom',
400
+ 'south': Door('Bedroom'),
401
+ 'west': Door('Tower Bottom'),
374
402
  },
375
403
  'containers': {
376
404
  'storage': container([item('saddle'), item('ink-pot'), item('parchment'), item('knife', 'weapon', 2)]),
@@ -388,9 +416,9 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
388
416
  █ █
389
417
  ████║████''',
390
418
  'Hints': [
391
- "I wonder what's in the %*RED*%storage%*RESET*%, if anything",
392
- "I wonder what's through the %*GREEN*%south%*RESET*%ern door",
393
- 'I wonder if there is anything on the %*RED*%desk%*RESET*%',
419
+ "I wonder what's in the %*RED*%storage%*RESET*%, if anything.",
420
+ "I wonder what's through the %*GREEN*%south%*RESET*%ern door.",
421
+ 'I wonder if there is anything on the %*RED*%desk%*RESET*%.',
394
422
  ],
395
423
  },
396
424
 
@@ -399,7 +427,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
399
427
  'position': (1, 16, 0),
400
428
  'discovered': False,
401
429
  'directions': {
402
- 'north': 'Landing',
430
+ 'north': Door('Landing'),
403
431
  },
404
432
  'info': 'You are on a balcony with an ornate railing. It is a nice day.',
405
433
  'map': '''
@@ -413,7 +441,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
413
441
  ∟ ∟
414
442
  ∟∟∟∟∟∟∟∟∟''',
415
443
  'Hints': [
416
- 'If I had a %*BLUE*%grappling-hook%*RESET*% I might be able to throw it into the trees and swing down into the forest',
444
+ 'If I had a %*BLUE*%grappling-hook%*RESET*% I might be able to throw it into the trees and swing down into the forest.',
417
445
  ],
418
446
  },
419
447
 
@@ -422,10 +450,10 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
422
450
  'position': (1, 0, 0),
423
451
  'discovered': False,
424
452
  'directions': {
425
- 'south': 'Landing',
426
- 'east': 'Office',
453
+ 'south': Door('Landing'),
454
+ 'east': Door('Office'),
427
455
  'down': 'Armoury',
428
- 'up': 'Tower Middle',
456
+ 'up': Door('Tower Middle'),
429
457
  },
430
458
  'info': 'You are in the base of a stone tower, there is a spiral staircase going up into the darkness.',
431
459
  'map': '''
@@ -438,7 +466,12 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
438
466
  █╖ █
439
467
  █╖ █
440
468
  ████║████''',
441
- 'Hints': ["I wonder what's %*GREEN*%south%*RESET*%", "I wonder what's %*GREEN*%east%*RESET*%", "I wonder what's %*GREEN*%up%*RESET*%", "I wonder what's %*GREEN*%down%*RESET*%"],
469
+ 'Hints': [
470
+ "I wonder what's %*GREEN*%south%*RESET*%.",
471
+ "I wonder what's %*GREEN*%east%*RESET*%.",
472
+ "I wonder what's %*GREEN*%up%*RESET*%.",
473
+ "I wonder what's %*GREEN*%down%*RESET*%.",
474
+ ],
442
475
  },
443
476
 
444
477
  'Tower Middle': {
@@ -447,7 +480,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
447
480
  'discovered': False,
448
481
  'directions': {
449
482
  'down': 'Tower Bottom',
450
- 'up': 'Tower Top',
483
+ 'up': Door('Tower Top'),
451
484
  },
452
485
  'containers': {
453
486
  'stone': container([item('money-pouch', 'valuable', 25)], True),
@@ -465,7 +498,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
465
498
  █╖ █
466
499
  █████████''',
467
500
  'Hints': [
468
- 'There might be an item here',
501
+ 'There might be an item here.',
469
502
  ],
470
503
  },
471
504
 
@@ -475,7 +508,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
475
508
  'discovered': False,
476
509
  'directions': {
477
510
  'down': 'Tower Middle',
478
- 'teleport': 'Teleportation Deck',
511
+ 'teleport': Door('Teleportation Deck'),
479
512
  },
480
513
  'creatures stats': creature(
481
514
  'greedy goblin',
@@ -486,7 +519,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
486
519
  'A %*CYAN*%greedy goblin%*RESET*% spots you and your money pouch!',
487
520
  creature_type('humanoid', 'goblin'),
488
521
  ),
489
- 'info': 'You are at the top of a stone tower. There are windows in every wall',
522
+ 'info': 'You are at the top of a stone tower. There are windows in every wall.',
490
523
  'map': '''
491
524
  █████████
492
525
  █ ╖█
@@ -498,7 +531,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
498
531
  █ █
499
532
  █████████''',
500
533
  'Hints': [
501
- 'I could %*GREEN*%teleport%*RESET*%',
534
+ 'I could %*GREEN*%teleport%*RESET*%.',
502
535
  ],
503
536
  },
504
537
 
@@ -507,8 +540,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
507
540
  'position': (-1, 0, 0),
508
541
  'discovered': False,
509
542
  'directions': {
510
- 'south': 'Basement 3',
511
- 'east': 'Basement 1',
543
+ 'south': Door('Basement 3'),
544
+ 'east': Door('Basement 1'),
512
545
  },
513
546
  'item': item('torch'),
514
547
  'containers': {
@@ -528,8 +561,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
528
561
  █ █
529
562
  ████║████''',
530
563
  'Hints': [
531
- 'The things in %*RED*%rack-1%*RESET*% and %*RED*%rack-2%*RESET*% are salvigable',
532
- "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder",
564
+ 'The things in %*RED*%rack-1%*RESET*% and %*RED*%rack-2%*RESET*% are salvigable.',
565
+ "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder.",
533
566
  ],
534
567
  },
535
568
 
@@ -538,9 +571,9 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
538
571
  'position': (-1, 0, 8),
539
572
  'discovered': False,
540
573
  'directions': {
541
- 'south': 'Basement 2',
542
- 'west': 'Basement Armoury',
543
- 'up': 'Sitting Room',
574
+ 'south': Door('Basement 2'),
575
+ 'west': Door('Basement Armoury'),
576
+ 'up': Door('Sitting Room'),
544
577
  },
545
578
  'item': item('torch'),
546
579
  'info': 'You are in an dimly lit underground (all the light in the room comes from 3 %*BLUE*%torch%*RESET*%es on the walls). You hear a %*YELLOW*%ripping%*RESET*% from the\
@@ -556,7 +589,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
556
589
  █ █
557
590
  ████║████''',
558
591
  'Hints': [
559
- "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder",
592
+ "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder.",
560
593
  ],
561
594
  },
562
595
 
@@ -565,8 +598,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
565
598
  'position': (-1, 8, 8),
566
599
  'discovered': False,
567
600
  'directions': {
568
- 'north': 'Basement 1',
569
- 'west': 'Basement 3',
601
+ 'north': Door('Basement 1'),
602
+ 'west': Door('Basement 3'),
570
603
  },
571
604
  'item': item('torch'),
572
605
  'info': 'You are in an dimly lit underground (all the light in the room comes from 3 %*BLUE*%torch%*RESET*%es on the walls).',
@@ -581,7 +614,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
581
614
  █ █
582
615
  █████████''',
583
616
  'Hints': [
584
- "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder",
617
+ "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder.",
585
618
  ],
586
619
  },
587
620
 
@@ -590,9 +623,9 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
590
623
  'position': (-1, 8, 0),
591
624
  'discovered': False,
592
625
  'directions': {
593
- 'south': 'Basement 4',
594
- 'east': 'Basement 2',
595
- 'north': 'Basement Armoury',
626
+ 'south': Door('Basement 4'),
627
+ 'east': Door('Basement 2'),
628
+ 'north': Door('Basement Armoury'),
596
629
  },
597
630
  'item': item('torch'),
598
631
  'info': 'You are in an dimly lit underground (all the light in the room comes from 3 %*BLUE*%torch%*RESET*%es on the walls).',
@@ -606,7 +639,6 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
606
639
  █ █
607
640
  █ █
608
641
  ████║████''',
609
- 'Hints': ['', '', '', ''],
610
642
  },
611
643
 
612
644
  'Basement 4': {
@@ -614,7 +646,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
614
646
  'position': (-1, 16, 0),
615
647
  'discovered': False,
616
648
  'directions': {
617
- 'north': 'Basement 3',
649
+ 'north': Door('Basement 3'),
618
650
  'shoot': 'Cavern 1',
619
651
  },
620
652
  'item': item('torch'),
@@ -630,14 +662,14 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
630
662
  █ █
631
663
  █████████''',
632
664
  'Hints': [
633
- "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder",
665
+ "I wonder if I can get this %*BLUE*%torch%*RESET*% out of it's holder.",
634
666
  ],
635
667
  },
636
668
 
637
669
  'Cavern 1': {
638
670
  'room type': 'cavern',
639
671
  'directions': {
640
- 'up': 'Basement 4',
672
+ 'up': Door('Basement 4'),
641
673
  'down': 'Cavern 2',
642
674
  },
643
675
  'info': 'you are in a dark cavern with the only light coming from the shoot you came through. A voice in the back of your head says: \'Do not go down the shoot, leave while you still can!\'',
@@ -652,7 +684,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
652
684
  █ █
653
685
  █████████''',
654
686
  'Hints': [
655
- 'I should probably go up the shoot I came from',
687
+ 'I should probably go up the shoot I came from.',
656
688
  ],
657
689
  },
658
690
 
@@ -673,17 +705,17 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
673
705
  █ █
674
706
  █████████''',
675
707
  'Hints': [
676
- 'I should probably quit so I\'m not here forever',
708
+ 'I should probably quit so I\'m not here forever.',
677
709
  ],
678
710
  },
679
711
 
680
712
  'Forest Clearing': {
681
713
  'room type': 'forest',
682
714
  'directions': {
683
- 'north': 'Forest Path1',
684
- 'east': 'Forest Path2',
685
- 'south': 'Forest Path1',
686
- 'west': 'Forest Path2',
715
+ 'north': Door('Forest Path1'),
716
+ 'east': Door('Forest Path2'),
717
+ 'south': Door('Forest Path1'),
718
+ 'west': Door('Forest Path2'),
687
719
  },
688
720
  'info': 'You are in a forest clearing outside the house.',
689
721
  'map': '''
@@ -702,8 +734,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
702
734
  'Forest Path1': {
703
735
  'room type': 'forest',
704
736
  'directions': {
705
- 'north': 'Forest Clearing',
706
- 'south': 'Forest Clearing',
737
+ 'north': Door('Forest Clearing'),
738
+ 'south': Door('Forest Clearing'),
707
739
  },
708
740
  'info': 'You are in a forest path outside the house.',
709
741
  'map': '''
@@ -722,8 +754,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
722
754
  'Forest Path2': {
723
755
  'room type': 'forest',
724
756
  'directions': {
725
- 'east': 'Forest Clearing',
726
- 'west': 'Forest Clearing',
757
+ 'east': Door('Forest Clearing'),
758
+ 'west': Door('Forest Clearing'),
727
759
  },
728
760
  'info': 'You are in a forest path outside the house.',
729
761
  'map': '''
@@ -742,18 +774,18 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
742
774
  'Teleportation Deck': {
743
775
  'room type': 'asteroid-1',
744
776
  'directions': {
745
- 'teleport': 'Tower Top',
746
- '0': 'Charter ship',
747
- '1': 'The Dancing Jellyfish Inn',
748
- '2': 'The Slopy Plasmoid Tapphouse',
749
- '3': 'The Centaurbow Weapon Shop',
750
- '4': 'The Gadabout Bakery',
751
- '5': 'The Shifterspender St',
752
- '6': 'The Town Hall',
753
- '7': 'The Assassins Guild',
754
- '8': 'The Watch Castle',
755
- '9': 'The Old Manor',
756
- },
777
+ 'teleport': Door('Tower Top'),
778
+ '0': Door('Charter ship'),
779
+ '1': Door('The Dancing Jellyfish Inn'),
780
+ '2': Door('The Slopy Plasmoid Tapphouse'),
781
+ '3': Door('The Centaurbow Weapon Shop'),
782
+ '4': Door('The Gadabout Bakery'),
783
+ '5': Door('The Shifterspender St'),
784
+ '6': Door('The Town Hall'),
785
+ '7': Door('The Assassins Guild'),
786
+ '8': Door('The Watch Castle'),
787
+ '9': Door('The Old Manor'),
788
+ },
757
789
  'item': item('money-pouch', 'valuable', 10),
758
790
  'info': '''
759
791
  You are in a strange cave with many teleportation circles, as well as some ships that are floating above the floor.
@@ -779,18 +811,18 @@ Do you want to:
779
811
  'Charter ship' :{
780
812
  'room type': 'asteroid-1',
781
813
  'directions': {
782
- '1': 'Teleportation Deck',
783
- '2': 'The Dancing Jellyfish Inn',
784
- '3': 'The Slopy Plasmoid Tapphouse',
785
- '4': 'The Centaurbow Weapon Shop',
786
- '5': 'The Gadabout Bakery',
787
- '6': 'The Shifterspender St',
788
- '7': 'The Town Hall',
789
- '8': 'The Assassins Guild',
790
- '9': 'The Watch Castle',
791
- '10': 'The Old Manor',
792
- '11': '2nd Teleportation Deck',
793
- '12': '3rd Teleportation Deck',
814
+ '1': Door('Teleportation Deck'),
815
+ '2': Door('The Dancing Jellyfish Inn'),
816
+ '3': Door('The Slopy Plasmoid Tapphouse'),
817
+ '4': Door('The Centaurbow Weapon Shop'),
818
+ '5': Door('The Gadabout Bakery'),
819
+ '6': Door('The Shifterspender St'),
820
+ '7': Door('The Town Hall'),
821
+ '8': Door('The Assassins Guild'),
822
+ '9': Door('The Watch Castle'),
823
+ '10': Door('The Old Manor'),
824
+ '11': Door('2nd Teleportation Deck'),
825
+ '12': Door('3rd Teleportation Deck'),
794
826
  },
795
827
  'info': '''
796
828
 
@@ -814,15 +846,15 @@ Do you want to:
814
846
  'The Dancing Jellyfish Inn' :{
815
847
  'room type': 'asteroid-1',
816
848
  'directions': {
817
- '1': 'Teleportation Deck',
818
- '2': 'The Slopy Plasmoid Tapphouse',
819
- '3': 'The Centaurbow Weapon Shop',
820
- '4': 'The Gadabout Bakery',
821
- '5': 'The Shifterspender St',
822
- '6': 'The Town Hall',
823
- '7': 'The Assassins Guild',
824
- '8': 'The Watch Castle',
825
- '9': 'The Old Manor',
849
+ '1': Door('Teleportation Deck'),
850
+ '2': Door('The Slopy Plasmoid Tapphouse'),
851
+ '3': Door('The Centaurbow Weapon Shop'),
852
+ '4': Door('The Gadabout Bakery'),
853
+ '5': Door('The Shifterspender St'),
854
+ '6': Door('The Town Hall'),
855
+ '7': Door('The Assassins Guild'),
856
+ '8': Door('The Watch Castle'),
857
+ '9': Door('The Old Manor'),
826
858
  },
827
859
  'info': '''
828
860
 
@@ -841,15 +873,15 @@ do you want to:
841
873
  'The Slopy Plasmoid Tapphouse' :{
842
874
  'room type': 'asteroid-1',
843
875
  'directions': {
844
- '1': 'Teleportation Deck',
845
- '2': 'The Dancing Jellyfish Inn',
846
- '3': 'The Centaurbow Weapon Shop',
847
- '4': 'The Gadabout Bakery',
848
- '5': 'The Shifterspender St',
849
- '6': 'The Town Hall',
850
- '7': 'The Assassins Guild',
851
- '8': 'The Watch Castle',
852
- '9': 'The Old Manor',
876
+ '1': Door('Teleportation Deck'),
877
+ '2': Door('The Dancing Jellyfish Inn'),
878
+ '3': Door('The Centaurbow Weapon Shop'),
879
+ '4': Door('The Gadabout Bakery'),
880
+ '5': Door('The Shifterspender St'),
881
+ '6': Door('The Town Hall'),
882
+ '7': Door('The Assassins Guild'),
883
+ '8': Door('The Watch Castle'),
884
+ '9': Door('The Old Manor'),
853
885
  },
854
886
  'info': '''
855
887
 
@@ -868,15 +900,15 @@ do you want to:
868
900
  'The Centaurbow Weapon Shop' :{
869
901
  'room type': 'asteroid-1',
870
902
  'directions': {
871
- '1': 'Teleportation Deck',
872
- '2': 'The Dancing Jellyfish Inn',
873
- '3': 'The Slopy Plasmoid Tapphouse',
874
- '4': 'The Gadabout Bakery',
875
- '5': 'The Shifterspender St',
876
- '6': 'The Town Hall',
877
- '7': 'The Assassins Guild',
878
- '8': 'The Watch Castle',
879
- '9': 'The Old Manor',
903
+ '1': Door('Teleportation Deck'),
904
+ '2': Door('The Dancing Jellyfish Inn'),
905
+ '3': Door('The Slopy Plasmoid Tapphouse'),
906
+ '4': Door('The Gadabout Bakery'),
907
+ '5': Door('The Shifterspender St'),
908
+ '6': Door('The Town Hall'),
909
+ '7': Door('The Assassins Guild'),
910
+ '8': Door('The Watch Castle'),
911
+ '9': Door('The Old Manor'),
880
912
  },
881
913
  'info': '''
882
914
 
@@ -895,15 +927,15 @@ do you want to:
895
927
  'The Gadabout Bakery' :{
896
928
  'room type': 'asteroid-1',
897
929
  'directions': {
898
- '1': 'Teleportation Deck',
899
- '2': 'The Dancing Jellyfish Inn',
900
- '3': 'The Slopy Plasmoid Tapphouse',
901
- '4': 'The Centaurbow Weapon Shop',
902
- '5': 'The Shifterspender St',
903
- '6': 'The Town Hall',
904
- '7': 'The Assassins Guild',
905
- '8': 'The Watch Castle',
906
- '9': 'The Old Manor',
930
+ '1': Door('Teleportation Deck'),
931
+ '2': Door('The Dancing Jellyfish Inn'),
932
+ '3': Door('The Slopy Plasmoid Tapphouse'),
933
+ '4': Door('The Centaurbow Weapon Shop'),
934
+ '5': Door('The Shifterspender St'),
935
+ '6': Door('The Town Hall'),
936
+ '7': Door('The Assassins Guild'),
937
+ '8': Door('The Watch Castle'),
938
+ '9': Door('The Old Manor'),
907
939
  },
908
940
  'info': '''
909
941
 
@@ -922,15 +954,15 @@ do you want to:
922
954
  'The Shifterspender St' :{
923
955
  'room type': 'asteroid-1',
924
956
  'directions': {
925
- '1': 'Teleportation Deck',
926
- '2': 'The Dancing Jellyfish Inn',
927
- '3': 'The Slopy Plasmoid Tapphouse',
928
- '4': 'The Centaurbow Weapon Shop',
929
- '5': 'The Gadabout Bakery',
930
- '6': 'The Town Hall',
931
- '7': 'The Assassins Guild',
932
- '8': 'The Watch Castle',
933
- '9': 'The Old Manor',
957
+ '1': Door('Teleportation Deck'),
958
+ '2': Door('The Dancing Jellyfish Inn'),
959
+ '3': Door('The Slopy Plasmoid Tapphouse'),
960
+ '4': Door('The Centaurbow Weapon Shop'),
961
+ '5': Door('The Gadabout Bakery'),
962
+ '6': Door('The Town Hall'),
963
+ '7': Door('The Assassins Guild'),
964
+ '8': Door('The Watch Castle'),
965
+ '9': Door('The Old Manor'),
934
966
  },
935
967
  'info': '''
936
968
 
@@ -949,15 +981,15 @@ do you want to:
949
981
  'The Town Hall' :{
950
982
  'room type': 'asteroid-1',
951
983
  'directions': {
952
- '1': 'Teleportation Deck',
953
- '2': 'The Dancing Jellyfish Inn',
954
- '3': 'The Slopy Plasmoid Tapphouse',
955
- '4': 'The Centaurbow Weapon Shop',
956
- '5': 'The Gadabout Bakery',
957
- '6': 'The Shifterspender St',
958
- '7': 'The Assassins Guild',
959
- '8': 'The Watch Castle',
960
- '9': 'The Old Manor',
984
+ '1': Door('Teleportation Deck'),
985
+ '2': Door('The Dancing Jellyfish Inn'),
986
+ '3': Door('The Slopy Plasmoid Tapphouse'),
987
+ '4': Door('The Centaurbow Weapon Shop'),
988
+ '5': Door('The Gadabout Bakery'),
989
+ '6': Door('The Shifterspender St'),
990
+ '7': Door('The Assassins Guild'),
991
+ '8': Door('The Watch Castle'),
992
+ '9': Door('The Old Manor'),
961
993
  },
962
994
  'info': '''
963
995
 
@@ -976,15 +1008,15 @@ do you want to:
976
1008
  'The Assassins Guild' :{
977
1009
  'room type': 'asteroid-1',
978
1010
  'directions': {
979
- '1': 'Teleportation Deck',
980
- '2': 'The Dancing Jellyfish Inn',
981
- '3': 'The Slopy Plasmoid Tapphouse',
982
- '4': 'The Centaurbow Weapon Shop',
983
- '5': 'The Gadabout Bakery',
984
- '6': 'The Shifterspender St',
985
- '7': 'The Town Hall',
986
- '8': 'The Watch Castle',
987
- '9': 'The Old Manor',
1011
+ '1': Door('Teleportation Deck'),
1012
+ '2': Door('The Dancing Jellyfish Inn'),
1013
+ '3': Door('The Slopy Plasmoid Tapphouse'),
1014
+ '4': Door('The Centaurbow Weapon Shop'),
1015
+ '5': Door('The Gadabout Bakery'),
1016
+ '6': Door('The Shifterspender St'),
1017
+ '7': Door('The Town Hall'),
1018
+ '8': Door('The Watch Castle'),
1019
+ '9': Door('The Old Manor'),
988
1020
  },
989
1021
  'info': ''',
990
1022
 
@@ -1003,15 +1035,15 @@ do you want to:
1003
1035
  'The Watch Castle' :{
1004
1036
  'room type': 'asteroid-1',
1005
1037
  'directions': {
1006
- '1': 'Teleportation Deck',
1007
- '2': 'The Dancing Jellyfish Inn',
1008
- '3': 'The Slopy Plasmoid Tapphouse',
1009
- '4': 'The Centaurbow Weapon Shop',
1010
- '5': 'The Gadabout Bakery',
1011
- '6': 'The Shifterspender St',
1012
- '7': 'The Town Hall',
1013
- '8': 'The Assassins Guild',
1014
- '9': 'The Old Manor',
1038
+ '1': Door('Teleportation Deck'),
1039
+ '2': Door('The Dancing Jellyfish Inn'),
1040
+ '3': Door('The Slopy Plasmoid Tapphouse'),
1041
+ '4': Door('The Centaurbow Weapon Shop'),
1042
+ '5': Door('The Gadabout Bakery'),
1043
+ '6': Door('The Shifterspender St'),
1044
+ '7': Door('The Town Hall'),
1045
+ '8': Door('The Assassins Guild'),
1046
+ '9': Door('The Old Manor'),
1015
1047
  },
1016
1048
  'info': '''
1017
1049
 
@@ -1030,15 +1062,15 @@ do you want to:
1030
1062
  'The Old Manor' :{
1031
1063
  'room type': 'asteroid-1',
1032
1064
  'directions': {
1033
- '1': 'Teleportation Deck',
1034
- '2': 'The Dancing Jellyfish Inn',
1035
- '3': 'The Slopy Plasmoid Tapphouse',
1036
- '4': 'The Centaurbow Weapon Shop',
1037
- '5': 'The Gadabout Bakery',
1038
- '6': 'The Shifterspender St',
1039
- '7': 'The Town Hall',
1040
- '8': 'The Assassins Guild',
1041
- '9': 'The Watch Castle',
1065
+ '1': Door('Teleportation Deck'),
1066
+ '2': Door('The Dancing Jellyfish Inn'),
1067
+ '3': Door('The Slopy Plasmoid Tapphouse'),
1068
+ '4': Door('The Centaurbow Weapon Shop'),
1069
+ '5': Door('The Gadabout Bakery'),
1070
+ '6': Door('The Shifterspender St'),
1071
+ '7': Door('The Town Hall'),
1072
+ '8': Door('The Assassins Guild'),
1073
+ '9': Door('The Watch Castle'),
1042
1074
  },
1043
1075
  'info': '''
1044
1076
 
@@ -1057,17 +1089,17 @@ do you want to:
1057
1089
  '2nd Teleportation Deck': {
1058
1090
  'room type': 'asteroid-2',
1059
1091
  'directions': {
1060
- '1': 'Charter 2nd Ship',
1061
- '2': 'The 2nd Dancing Jellyfish Inn',
1062
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1063
- '4': 'The 2nd GiffHammer Weapon Shop',
1064
- '5': 'The 2nd Gadabout Bakery',
1065
- '6': 'The 2nd Githspender St',
1066
- '7': 'The 2nd Town Hall',
1067
- '8': 'The 2nd Thieves Guild',
1068
- '9': 'The 2nd Watch Castle',
1069
- },
1070
- '10': 'The 2nd Old Manor',
1092
+ '1': Door('Charter 2nd Ship'),
1093
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1094
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1095
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1096
+ '5': Door('The 2nd Gadabout Bakery'),
1097
+ '6': Door('The 2nd Githspender St'),
1098
+ '7': Door('The 2nd Town Hall'),
1099
+ '8': Door('The 2nd Thieves Guild'),
1100
+ '9': Door('The 2nd Watch Castle'),
1101
+ },
1102
+ '10': Door('The 2nd Old Manor'),
1071
1103
  'info': '''
1072
1104
  You are in a strange cave with many teleportation circles, as well as some ships that are floating above the floor.
1073
1105
 
@@ -1091,18 +1123,18 @@ do you want to:
1091
1123
  'Charter 2nd Ship' :{
1092
1124
  'room type': 'asteroid-2',
1093
1125
  'directions': {
1094
- '1': '2nd Teleportation Deck',
1095
- '2': 'The 2nd Dancing Jellyfish Inn',
1096
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1097
- '4': 'The 2nd GiffHammer Weapon Shop',
1098
- '5': 'The 2nd Gadabout Bakery',
1099
- '6': 'The 2nd Githspender St',
1100
- '7': 'The 2nd Town Hall',
1101
- '8': 'The 2nd Thieves Guild',
1102
- '9': 'The 2nd Watch Castle',
1103
- '10': 'The Old 2nd Manor',
1104
- '11': 'Teleportation Deck',
1105
- '12': '3rd Teleportation Deck',
1126
+ '1': Door('2nd Teleportation Deck'),
1127
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1128
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1129
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1130
+ '5': Door('The 2nd Gadabout Bakery'),
1131
+ '6': Door('The 2nd Githspender St'),
1132
+ '7': Door('The 2nd Town Hall'),
1133
+ '8': Door('The 2nd Thieves Guild'),
1134
+ '9': Door('The 2nd Watch Castle'),
1135
+ '10': Door('The Old 2nd Manor'),
1136
+ '11': Door('Teleportation Deck'),
1137
+ '12': Door('3rd Teleportation Deck'),
1106
1138
  },
1107
1139
  'creatures stats': creature(
1108
1140
  'hull leech',
@@ -1135,15 +1167,15 @@ Do you want to:
1135
1167
  'The 2nd Dancing Jellyfish Inn' :{
1136
1168
  'room type': 'asteroid-2',
1137
1169
  'directions': {
1138
- '1': '2nd Teleportation Deck',
1139
- '2': 'The 2nd Slopy Plasmoid Tapphouse',
1140
- '3': 'The 2nd GiffHammer Weapon Shop',
1141
- '4': 'The 2nd Gadabout Bakery',
1142
- '5': 'The 2nd Githspender St',
1143
- '6': 'The 2nd Town Hall',
1144
- '7': 'The 2nd Thieves Guild',
1145
- '8': 'The 2nd Watch Castle',
1146
- '9': 'The 2nd Old Manor',
1170
+ '1': Door('2nd Teleportation Deck'),
1171
+ '2': Door('The 2nd Slopy Plasmoid Tapphouse'),
1172
+ '3': Door('The 2nd GiffHammer Weapon Shop'),
1173
+ '4': Door('The 2nd Gadabout Bakery'),
1174
+ '5': Door('The 2nd Githspender St'),
1175
+ '6': Door('The 2nd Town Hall'),
1176
+ '7': Door('The 2nd Thieves Guild'),
1177
+ '8': Door('The 2nd Watch Castle'),
1178
+ '9': Door('The 2nd Old Manor'),
1147
1179
  },
1148
1180
  'info': '''
1149
1181
 
@@ -1162,15 +1194,15 @@ do you want to:
1162
1194
  'The 2nd Slopy Plasmoid Tapphouse' :{
1163
1195
  'room type': 'asteroid-2',
1164
1196
  'directions': {
1165
- '1': '2nd Teleportation Deck',
1166
- '2': 'The 2nd Dancing Jellyfish Inn',
1167
- '3': 'The 2nd GiffHammer Weapon Shop',
1168
- '4': 'The 2nd Gadabout Bakery',
1169
- '5': 'The 2nd Githspender St',
1170
- '6': 'The 2nd Town Hall',
1171
- '7': 'The 2nd Thieves Guild',
1172
- '8': 'The 2nd Watch Castle',
1173
- '9': 'The 2nd Old Manor',
1197
+ '1': Door('2nd Teleportation Deck'),
1198
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1199
+ '3': Door('The 2nd GiffHammer Weapon Shop'),
1200
+ '4': Door('The 2nd Gadabout Bakery'),
1201
+ '5': Door('The 2nd Githspender St'),
1202
+ '6': Door('The 2nd Town Hall'),
1203
+ '7': Door('The 2nd Thieves Guild'),
1204
+ '8': Door('The 2nd Watch Castle'),
1205
+ '9': Door('The 2nd Old Manor'),
1174
1206
  },
1175
1207
  'info': '''
1176
1208
 
@@ -1189,15 +1221,15 @@ do you want to:
1189
1221
  'The 2nd GiffHammer Weapon Shop' :{
1190
1222
  'room type': 'asteroid-2',
1191
1223
  'directions': {
1192
- '1': '2nd Teleportation Deck',
1193
- '2': 'The 2nd Dancing Jellyfish Inn',
1194
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1195
- '4': 'The 2nd Gadabout Bakery',
1196
- '5': 'The 2nd Githspender St',
1197
- '6': 'The 2nd Town Hall',
1198
- '7': 'The 2nd Thieves Guild',
1199
- '8': 'The 2nd Watch Castle',
1200
- '9': 'The 2nd Old Manor',
1224
+ '1': Door('2nd Teleportation Deck'),
1225
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1226
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1227
+ '4': Door('The 2nd Gadabout Bakery'),
1228
+ '5': Door('The 2nd Githspender St'),
1229
+ '6': Door('The 2nd Town Hall'),
1230
+ '7': Door('The 2nd Thieves Guild'),
1231
+ '8': Door('The 2nd Watch Castle'),
1232
+ '9': Door('The 2nd Old Manor'),
1201
1233
  },
1202
1234
  'info': '''
1203
1235
 
@@ -1216,15 +1248,15 @@ do you want to:
1216
1248
  'The 2nd Gadabout Bakery' :{
1217
1249
  'room type': 'asteroid-2',
1218
1250
  'directions': {
1219
- '1': '2nd Teleportation Deck',
1220
- '2': 'The 2nd Dancing Jellyfish Inn',
1221
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1222
- '4': 'The 2nd GiffHammer Weapon Shop',
1223
- '5': 'The 2nd Githspender St',
1224
- '6': 'The 2nd Town Hall',
1225
- '7': 'The 2nd Thieves Guild',
1226
- '8': 'The 2nd Watch Castle',
1227
- '9': 'The 2nd Old Manor',
1251
+ '1': Door('2nd Teleportation Deck'),
1252
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1253
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1254
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1255
+ '5': Door('The 2nd Githspender St'),
1256
+ '6': Door('The 2nd Town Hall'),
1257
+ '7': Door('The 2nd Thieves Guild'),
1258
+ '8': Door('The 2nd Watch Castle'),
1259
+ '9': Door('The 2nd Old Manor'),
1228
1260
  },
1229
1261
  'info': '''
1230
1262
 
@@ -1243,15 +1275,15 @@ do you want to:
1243
1275
  'The 2nd Githspender St' :{
1244
1276
  'room type': 'asteroid-2',
1245
1277
  'directions': {
1246
- '1': '2nd Teleportation Deck',
1247
- '2': 'The 2nd Dancing Jellyfish Inn',
1248
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1249
- '4': 'The 2nd GiffHammer Weapon Shop',
1250
- '5': 'The 2nd Gadabout Bakery',
1251
- '6': 'The 2nd Town Hall',
1252
- '7': 'The 2nd Thieves Guild',
1253
- '8': 'The 2nd Watch Castle',
1254
- '9': 'The 2nd Old Manor',
1278
+ '1': Door('2nd Teleportation Deck'),
1279
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1280
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1281
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1282
+ '5': Door('The 2nd Gadabout Bakery'),
1283
+ '6': Door('The 2nd Town Hall'),
1284
+ '7': Door('The 2nd Thieves Guild'),
1285
+ '8': Door('The 2nd Watch Castle'),
1286
+ '9': Door('The 2nd Old Manor'),
1255
1287
  },
1256
1288
  'info': '''
1257
1289
 
@@ -1270,15 +1302,15 @@ do you want to:
1270
1302
  'The 2nd Town Hall' :{
1271
1303
  'room type': 'asteroid-2',
1272
1304
  'directions': {
1273
- '1': '2nd Teleportation Deck',
1274
- '2': 'The 2nd Dancing Jellyfish Inn',
1275
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1276
- '4': 'The 2nd GiffHammer Weapon Shop',
1277
- '5': 'The 2nd Gadabout Bakery',
1278
- '6': 'The 2nd Githspender St',
1279
- '7': 'The 2nd Thieves Guild',
1280
- '8': 'The 2nd Watch Castle',
1281
- '9': 'The 2nd Old Manor',
1305
+ '1': Door('2nd Teleportation Deck'),
1306
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1307
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1308
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1309
+ '5': Door('The 2nd Gadabout Bakery'),
1310
+ '6': Door('The 2nd Githspender St'),
1311
+ '7': Door('The 2nd Thieves Guild'),
1312
+ '8': Door('The 2nd Watch Castle'),
1313
+ '9': Door('The 2nd Old Manor'),
1282
1314
  },
1283
1315
  'info': '''
1284
1316
 
@@ -1297,15 +1329,15 @@ do you want to:
1297
1329
  'The 2nd Thieves Guild' :{
1298
1330
  'room type': 'asteroid-2',
1299
1331
  'directions': {
1300
- '1': '2nd Teleportation Deck',
1301
- '2': 'The 2nd Dancing Jellyfish Inn',
1302
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1303
- '4': 'The 2nd GiffHammer Weapon Shop',
1304
- '5': 'The 2nd Gadabout Bakery',
1305
- '6': 'The 2nd Githspender St',
1306
- '7': 'The 2nd Town Hall',
1307
- '8': 'The 2nd Watch Castle',
1308
- '9': 'The 2nd Old Manor',
1332
+ '1': Door('2nd Teleportation Deck'),
1333
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1334
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1335
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1336
+ '5': Door('The 2nd Gadabout Bakery'),
1337
+ '6': Door('The 2nd Githspender St'),
1338
+ '7': Door('The 2nd Town Hall'),
1339
+ '8': Door('The 2nd Watch Castle'),
1340
+ '9': Door('The 2nd Old Manor'),
1309
1341
  },
1310
1342
  'creatures stats': creature(
1311
1343
  'thief',
@@ -1333,15 +1365,15 @@ do you want to:
1333
1365
  'The 2nd Watch Castle' :{
1334
1366
  'room type': 'asteroid-2',
1335
1367
  'directions': {
1336
- '1': '2nd Teleportation Deck',
1337
- '2': 'The 2nd Dancing Jellyfish Inn',
1338
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1339
- '4': 'The 2nd GiffHammer Weapon Shop',
1340
- '5': 'The 2nd Gadabout Bakery',
1341
- '6': 'The 2nd Githspender St',
1342
- '7': 'The 2nd Town Hall',
1343
- '8': 'The 2nd Thieves Guild',
1344
- '9': 'The 2nd Old Manor',
1368
+ '1': Door('2nd Teleportation Deck'),
1369
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1370
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1371
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1372
+ '5': Door('The 2nd Gadabout Bakery'),
1373
+ '6': Door('The 2nd Githspender St'),
1374
+ '7': Door('The 2nd Town Hall'),
1375
+ '8': Door('The 2nd Thieves Guild'),
1376
+ '9': Door('The 2nd Old Manor'),
1345
1377
  },
1346
1378
  'info': '''
1347
1379
 
@@ -1360,15 +1392,15 @@ do you want to:
1360
1392
  'The 2nd Old Manor' :{
1361
1393
  'room type': 'asteroid-2',
1362
1394
  'directions': {
1363
- '1': '2nd Teleportation Deck',
1364
- '2': 'The 2nd Dancing Jellyfish Inn',
1365
- '3': 'The 2nd Slopy Plasmoid Tapphouse',
1366
- '4': 'The 2nd GiffHammer Weapon Shop',
1367
- '5': 'The 2nd Gadabout Bakery',
1368
- '6': 'The 2nd Githspender St',
1369
- '7': 'The 2nd Town Hall',
1370
- '8': 'The 2nd Thieves Guild',
1371
- '9': 'The 2nd Watch Castle',
1395
+ '1': Door('2nd Teleportation Deck'),
1396
+ '2': Door('The 2nd Dancing Jellyfish Inn'),
1397
+ '3': Door('The 2nd Slopy Plasmoid Tapphouse'),
1398
+ '4': Door('The 2nd GiffHammer Weapon Shop'),
1399
+ '5': Door('The 2nd Gadabout Bakery'),
1400
+ '6': Door('The 2nd Githspender St'),
1401
+ '7': Door('The 2nd Town Hall'),
1402
+ '8': Door('The 2nd Thieves Guild'),
1403
+ '9': Door('The 2nd Watch Castle'),
1372
1404
  },
1373
1405
  'info': '''
1374
1406
 
@@ -1387,17 +1419,17 @@ do you want to:
1387
1419
  '3rd Teleportation Deck': {
1388
1420
  'room type': 'asteroid-2',
1389
1421
  'directions': {
1390
- '1': 'Charter 3rd Ship',
1391
- '2': 'The Main Guildhall',
1392
- '3': 'The Order of the Arcane Scribes',
1393
- '4': 'The Wayfarers\' Brotherhood',
1394
- '5': 'The Artisans\' Collective',
1395
- '6': 'The Silent Shadows Syndicate',
1396
- '7': 'The Guardians of the Wilds',
1397
- '8': 'The Mercantile Consortium',
1398
- '9': 'The Sentinels of the Shield',
1399
- },
1400
- '10': 'The 3rd Old Manor',
1422
+ '1': Door('Charter 3rd Ship'),
1423
+ '2': Door('The Main Guildhall'),
1424
+ '3': Door('The Order of the Arcane Scribes'),
1425
+ '4': Door('The Wayfarers\' Brotherhood'),
1426
+ '5': Door('The Artisans\' Collective'),
1427
+ '6': Door('The Silent Shadows Syndicate'),
1428
+ '7': Door('The Guardians of the Wilds'),
1429
+ '8': Door('The Mercantile Consortium'),
1430
+ '9': Door('The Sentinels of the Shield'),
1431
+ },
1432
+ '10': Door('The 3rd Old Manor'),
1401
1433
  'info': '''
1402
1434
  You are in a strange cave with many teleportation circles, as well as some ships that are floating above the floor.
1403
1435
 
@@ -1421,18 +1453,18 @@ do you want to:
1421
1453
  'Charter 3rd Ship' :{
1422
1454
  'room type': 'asteroid-3',
1423
1455
  'directions': {
1424
- '1': 'Teleportation Deck',
1425
- '2': 'The Main Guildhall',
1426
- '3': 'The Order of the Arcane Scribes',
1427
- '4': 'The Wayfarers\' Brotherhood',
1428
- '5': 'The Artisans\' Collective',
1429
- '6': 'The Silent Shadows Syndicate',
1430
- '7': 'The Guardians of the Wilds',
1431
- '8': 'The Mercantile Consortium',
1432
- '9': 'The Sentinels of the Shield',
1433
- '10': 'The 3rd Old Manor',
1434
- '11': 'Teleportation Deck',
1435
- '12': '2nd Teleportation Deck',
1456
+ '1': Door('Teleportation Deck'),
1457
+ '2': Door('The Main Guildhall'),
1458
+ '3': Door('The Order of the Arcane Scribes'),
1459
+ '4': Door('The Wayfarers\' Brotherhood'),
1460
+ '5': Door('The Artisans\' Collective'),
1461
+ '6': Door('The Silent Shadows Syndicate'),
1462
+ '7': Door('The Guardians of the Wilds'),
1463
+ '8': Door('The Mercantile Consortium'),
1464
+ '9': Door('The Sentinels of the Shield'),
1465
+ '10': Door('The 3rd Old Manor'),
1466
+ '11': Door('Teleportation Deck'),
1467
+ '12': Door('2nd Teleportation Deck'),
1436
1468
  },
1437
1469
  'info': '''
1438
1470
 
@@ -1465,16 +1497,16 @@ tapestries, statues, and artifacts commemorating the triumphs of the past. Wheth
1465
1497
  from across the realm flock to the Forge, drawn by the promise of glory and the chance to make their mark on history.''',
1466
1498
  'room type': 'asteroid-3',
1467
1499
  'directions': {
1468
- '1': '2nd Teleportation Deck',
1469
- '2': 'The Order of the Arcane Scribes',
1470
- '3': 'The Wayfarers\' Brotherhood',
1471
- '4': 'The Artisans\' Collective',
1472
- '5': 'The Silent Shadows Syndicate',
1473
- '6': 'The Guardians of the Wilds',
1474
- '7': 'The Mercantile Consortium',
1475
- '8': 'The Sentinels of the Shield',
1476
- '9': 'The 3rd Old Manor',
1477
- '10': 'The Grand Coliseum',
1500
+ '1': Door('2nd Teleportation Deck'),
1501
+ '2': Door('The Order of the Arcane Scribes'),
1502
+ '3': Door('The Wayfarers\' Brotherhood'),
1503
+ '4': Door('The Artisans\' Collective'),
1504
+ '5': Door('The Silent Shadows Syndicate'),
1505
+ '6': Door('The Guardians of the Wilds'),
1506
+ '7': Door('The Mercantile Consortium'),
1507
+ '8': Door('The Sentinels of the Shield'),
1508
+ '9': Door('The 3rd Old Manor'),
1509
+ '10': Door('The Grand Coliseum'),
1478
1510
  },
1479
1511
  'info': '''
1480
1512
 
@@ -1505,7 +1537,7 @@ elaborate tournaments of skill and strategy, the fighters of the Grand Coliseum
1505
1537
  Coliseum stands as a testament to the enduring appeal of gladiatorial combat and the timeless allure of the warrior's path.''',
1506
1538
  'room type': 'asteroid-3',
1507
1539
  'directions': {
1508
- '1': 'The Main Guildhall',
1540
+ '1': Door('The Main Guildhall'),
1509
1541
  },
1510
1542
  'creatures stats': creature(
1511
1543
  'gladiator',
@@ -1535,15 +1567,15 @@ Whether delving into the depths of forgotten lore or harnessing the power of the
1535
1567
  magic.''',
1536
1568
  'room type': 'asteroid-3',
1537
1569
  'directions': {
1538
- '1': '3rd Teleportation Deck',
1539
- '2': 'The Main Guildhall',
1540
- '3': 'The Wayfarers\' Brotherhood',
1541
- '4': 'The Artisans\' Collective',
1542
- '5': 'The Silent Shadows Syndicate',
1543
- '6': 'The Guardians of the Wilds',
1544
- '7': 'The Mercantile Consortium',
1545
- '8': 'The Sentinels of the Shield',
1546
- '9': 'The 3rd Old Manor',
1570
+ '1': Door('3rd Teleportation Deck'),
1571
+ '2': Door('The Main Guildhall'),
1572
+ '3': Door('The Wayfarers\' Brotherhood'),
1573
+ '4': Door('The Artisans\' Collective'),
1574
+ '5': Door('The Silent Shadows Syndicate'),
1575
+ '6': Door('The Guardians of the Wilds'),
1576
+ '7': Door('The Mercantile Consortium'),
1577
+ '8': Door('The Sentinels of the Shield'),
1578
+ '9': Door('The 3rd Old Manor'),
1547
1579
  },
1548
1580
  'info': '''
1549
1581
 
@@ -1571,15 +1603,15 @@ ambitious expeditions, and seek companions for their journeys. Guided by a spiri
1571
1603
  eager to uncover the mysteries that lie beyond the horizon.''',
1572
1604
  'room type': 'asteroid-3',
1573
1605
  'directions': {
1574
- '1': '3rd Teleportation Deck',
1575
- '2': 'The Main Guildhall',
1576
- '3': 'The Order of the Arcane Scribes',
1577
- '4': 'The Artisans\' Collective',
1578
- '5': 'The Silent Shadows Syndicate',
1579
- '6': 'The Guardians of the Wilds',
1580
- '7': 'The Mercantile Consortium',
1581
- '8': 'The Sentinels of the Shield',
1582
- '9': 'The 3rd Old Manor',
1606
+ '1': Door('3rd Teleportation Deck'),
1607
+ '2': Door('The Main Guildhall'),
1608
+ '3': Door('The Order of the Arcane Scribes'),
1609
+ '4': Door('The Artisans\' Collective'),
1610
+ '5': Door('The Silent Shadows Syndicate'),
1611
+ '6': Door('The Guardians of the Wilds'),
1612
+ '7': Door('The Mercantile Consortium'),
1613
+ '8': Door('The Sentinels of the Shield'),
1614
+ '9': Door('The 3rd Old Manor'),
1583
1615
  },
1584
1616
  'info': '''
1585
1617
 
@@ -1608,15 +1640,15 @@ quality, crafting intricate works of jewelry, or painting breathtaking landscape
1608
1640
  potential of skilled craftsmanship.''',
1609
1641
  'room type': 'asteroid-3',
1610
1642
  'directions': {
1611
- '1': '3rd Teleportation Deck',
1612
- '2': 'The Main Guildhall',
1613
- '3': 'The Order of the Arcane Scribes',
1614
- '4': 'The Wayfarers\' Brotherhood',
1615
- '5': 'The Silent Shadows Syndicate',
1616
- '6': 'The Guardians of the Wilds',
1617
- '7': 'The Mercantile Consortium',
1618
- '8': 'The Sentinels of the Shield',
1619
- '9': 'The 3rd Old Manor',
1643
+ '1': Door('3rd Teleportation Deck'),
1644
+ '2': Door('The Main Guildhall'),
1645
+ '3': Door('The Order of the Arcane Scribes'),
1646
+ '4': Door('The Wayfarers\' Brotherhood'),
1647
+ '5': Door('The Silent Shadows Syndicate'),
1648
+ '6': Door('The Guardians of the Wilds'),
1649
+ '7': Door('The Mercantile Consortium'),
1650
+ '8': Door('The Sentinels of the Shield'),
1651
+ '9': Door('The 3rd Old Manor'),
1620
1652
  },
1621
1653
  'info': '''
1622
1654
 
@@ -1645,15 +1677,15 @@ before melting back into the shadows from whence they came. Though their methods
1645
1677
  willing to operate outside the boundaries of conventional morality.''',
1646
1678
  'room type': 'asteroid-3',
1647
1679
  'directions': {
1648
- '1': '3rd Teleportation Deck',
1649
- '2': 'The Main Guildhall',
1650
- '3': 'The Order of the Arcane Scribes',
1651
- '4': 'The Wayfarers\' Brotherhood',
1652
- '5': 'The Artisans\' Collective',
1653
- '6': 'The Guardians of the Wilds',
1654
- '7': 'The Mercantile Consortium',
1655
- '8': 'The Sentinels of the Shield',
1656
- '9': 'The 3rd Old Manor',
1680
+ '1': Door('3rd Teleportation Deck'),
1681
+ '2': Door('The Main Guildhall'),
1682
+ '3': Door('The Order of the Arcane Scribes'),
1683
+ '4': Door('The Wayfarers\' Brotherhood'),
1684
+ '5': Door('The Artisans\' Collective'),
1685
+ '6': Door('The Guardians of the Wilds'),
1686
+ '7': Door('The Mercantile Consortium'),
1687
+ '8': Door('The Sentinels of the Shield'),
1688
+ '9': Door('The 3rd Old Manor'),
1657
1689
  },
1658
1690
  'info': '''
1659
1691
 
@@ -1682,15 +1714,15 @@ would exploit nature for profit or power. Whether embarking on quests to thwart
1682
1714
  wildlife, the Guardians of the Wilds stand as vigilant protectors of the natural world, sworn to defend it against all who would seek to do it harm.''',
1683
1715
  'room type': 'asteroid-3',
1684
1716
  'directions': {
1685
- '1': '3rd Teleportation Deck',
1686
- '2': 'The Main Guildhall',
1687
- '3': 'The Order of the Arcane Scribes',
1688
- '4': 'The Wayfarers\' Brotherhood',
1689
- '5': 'The Artisans\' Collective',
1690
- '6': 'The Silent Shadows Syndicate',
1691
- '7': 'The Mercantile Consortium',
1692
- '8': 'The Sentinels of the Shield',
1693
- '9': 'The 3rd Old Manor',
1717
+ '1': Door('3rd Teleportation Deck'),
1718
+ '2': Door('The Main Guildhall'),
1719
+ '3': Door('The Order of the Arcane Scribes'),
1720
+ '4': Door('The Wayfarers\' Brotherhood'),
1721
+ '5': Door('The Artisans\' Collective'),
1722
+ '6': Door('The Silent Shadows Syndicate'),
1723
+ '7': Door('The Mercantile Consortium'),
1724
+ '8': Door('The Sentinels of the Shield'),
1725
+ '9': Door('The 3rd Old Manor'),
1694
1726
  },
1695
1727
  'info': '''
1696
1728
 
@@ -1719,15 +1751,15 @@ Though their methods may be ruthless and their ambitions vast, their guild stand
1719
1751
  of wealth.''',
1720
1752
  'room type': 'asteroid-3',
1721
1753
  'directions': {
1722
- '1': '3rd Teleportation Deck',
1723
- '2': 'The Main Guildhall',
1724
- '3': 'The Order of the Arcane Scribes',
1725
- '4': 'The Wayfarers\' Brotherhood',
1726
- '5': 'The Artisans\' Collective',
1727
- '6': 'The Silent Shadows Syndicate',
1728
- '7': 'The Guardians of the Wilds',
1729
- '8': 'The Sentinels of the Shield',
1730
- '9': 'The 3rd Old Manor',
1754
+ '1': Door('3rd Teleportation Deck'),
1755
+ '2': Door('The Main Guildhall'),
1756
+ '3': Door('The Order of the Arcane Scribes'),
1757
+ '4': Door('The Wayfarers\' Brotherhood'),
1758
+ '5': Door('The Artisans\' Collective'),
1759
+ '6': Door('The Silent Shadows Syndicate'),
1760
+ '7': Door('The Guardians of the Wilds'),
1761
+ '8': Door('The Sentinels of the Shield'),
1762
+ '9': Door('The 3rd Old Manor'),
1731
1763
  },
1732
1764
  'info': '''
1733
1765
 
@@ -1764,15 +1796,15 @@ guild. Training programs cover various aspects of combat, law enforcement techni
1764
1796
  new recruits, fostering a sense of camaraderie and unity among the ranks.''',
1765
1797
  'room type': 'asteroid-3',
1766
1798
  'directions': {
1767
- '1': '3rd Teleportation Deck',
1768
- '2': 'The Main Guildhall',
1769
- '3': 'The Order of the Arcane Scribes',
1770
- '4': 'The Wayfarers\' Brotherhood',
1771
- '5': 'The Artisans\' Collective',
1772
- '6': 'The Silent Shadows Syndicate',
1773
- '7': 'The Guardians of the Wilds',
1774
- '8': 'The Mercantile Consortium',
1775
- '9': 'The 3rd Old Manor',
1799
+ '1': Door('3rd Teleportation Deck'),
1800
+ '2': Door('The Main Guildhall'),
1801
+ '3': Door('The Order of the Arcane Scribes'),
1802
+ '4': Door('The Wayfarers\' Brotherhood'),
1803
+ '5': Door('The Artisans\' Collective'),
1804
+ '6': Door('The Silent Shadows Syndicate'),
1805
+ '7': Door('The Guardians of the Wilds'),
1806
+ '8': Door('The Mercantile Consortium'),
1807
+ '9': Door('The 3rd Old Manor'),
1776
1808
  },
1777
1809
  'info': '''
1778
1810
 
@@ -1791,15 +1823,15 @@ do you want to:
1791
1823
  'The 3rd Old Manor' :{
1792
1824
  'room type': 'asteroid-3',
1793
1825
  'directions': {
1794
- '1': '3rd Teleportation Deck',
1795
- '2': 'The Main Guildhall',
1796
- '3': 'The Order of the Arcane Scribes',
1797
- '4': 'The Wayfarers\' Brotherhood',
1798
- '5': 'The Artisans\' Collective',
1799
- '6': 'The Silent Shadows Syndicate',
1800
- '7': 'The Guardians of the Wilds',
1801
- '8': 'The Mercantile Consortium',
1802
- '9': 'The Sentinels of the Shield',
1826
+ '1': Door('3rd Teleportation Deck'),
1827
+ '2': Door('The Main Guildhall'),
1828
+ '3': Door('The Order of the Arcane Scribes'),
1829
+ '4': Door('The Wayfarers\' Brotherhood'),
1830
+ '5': Door('The Artisans\' Collective'),
1831
+ '6': Door('The Silent Shadows Syndicate'),
1832
+ '7': Door('The Guardians of the Wilds'),
1833
+ '8': Door('The Mercantile Consortium'),
1834
+ '9': Door('The Sentinels of the Shield'),
1803
1835
  },
1804
1836
  'info': '''
1805
1837