neelthee-mansion 3.3.0__tar.gz → 3.4.0__tar.gz

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 (19) hide show
  1. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/PKG-INFO +1 -1
  2. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/Mansion_of_Amnesia.py +15 -7
  3. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/Rooms.py +25 -9
  4. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/items.py +3 -0
  5. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion.egg-info/PKG-INFO +1 -1
  6. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/setup.py +1 -1
  7. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/README.md +0 -0
  8. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/Quests.py +0 -0
  9. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/__init__.py +0 -0
  10. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/__main__.py +0 -0
  11. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/all_game_utils.py +0 -0
  12. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/creatures.py +0 -0
  13. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion/utils.py +0 -0
  14. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion.egg-info/SOURCES.txt +0 -0
  15. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion.egg-info/dependency_links.txt +0 -0
  16. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion.egg-info/entry_points.txt +0 -0
  17. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion.egg-info/requires.txt +0 -0
  18. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/neelthee_mansion.egg-info/top_level.txt +0 -0
  19. {neelthee_mansion-3.3.0 → neelthee_mansion-3.4.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: neelthee_mansion
3
- Version: 3.3.0
3
+ Version: 3.4.0
4
4
  Summary: A text-based adventure game set in Neel-thee’s mansion.
5
5
  Home-page: https://github.com/Flameblade375/neelthee_mansion
6
6
  Author: Alexander.E.F
@@ -256,12 +256,12 @@ def Use(moveone, movetwo=None):
256
256
  type_text("You can't use that", colorTrue=color_coding)
257
257
 
258
258
 
259
- def PickKey(lock):
259
+ def PickKey(locked_obj):
260
260
  keys = player.inventory.keys()
261
261
 
262
262
  if keys:
263
263
  while True:
264
- type_text(f"Please pick which key you want to use in the lock. This is what you know about the lock: {lock}. These are your keys:")
264
+ type_text(f"Please pick which key you want to use in the lock. This is what you know about the lock: {locked_obj}. These are your keys:")
265
265
 
266
266
  # Enumerate keys and display them
267
267
  for idx, key in enumerate(keys, 1): # Starts numbering at 1
@@ -299,10 +299,10 @@ def Move(move):
299
299
  def attempt_move_to_garden():
300
300
  global player
301
301
  type_text("Please pick whitch key you want to try in the lock on the gate")
302
- for key in player.inventory.keys():
303
- if key.KeyCode == "629.IdnXwnt":
304
- End('You unlock the gate to the garden with the key!')
305
- return newRoom
302
+ key = PickKey(Lock("629.IdnXwnt"))
303
+ if key.KeyCode == "629.IdnXwnt":
304
+ End('You unlock the gate to the garden with the key!')
305
+ return newRoom
306
306
  type_text('The gate is locked.', colorTrue=color_coding)
307
307
  return newRoom
308
308
 
@@ -319,12 +319,15 @@ def Move(move):
319
319
  return newRoom
320
320
 
321
321
  if move in ROOMS[player.CURRENTROOM]['directions']:
322
+ newRoom = "Hall"
322
323
  if isinstance(ROOMS[player.CURRENTROOM]['directions'][move], Door):
323
324
  if isinstance(ROOMS[player.CURRENTROOM]['directions'][move].lock, Lock):
324
325
  key = PickKey(ROOMS[player.CURRENTROOM]['directions'][move].lock)
325
326
  ROOMS[player.CURRENTROOM]['directions'][move].unlock(key, player)
326
327
  newRoom = ROOMS[player.CURRENTROOM]['directions'][move].GetRoom()
327
- newRoom = move_to_room()
328
+ elif isinstance(ROOMS[player.CURRENTROOM]['directions'][move], str):
329
+ newRoom = ROOMS[player.CURRENTROOM]['directions'][move]
330
+ newRoom = move_to_room()
328
331
  return
329
332
  elif move in ROOMS:
330
333
  newRoom = move
@@ -1009,6 +1012,11 @@ You must navigate the mansion and uncover the truth behind your captivity, all w
1009
1012
  while True:
1010
1013
  command()
1011
1014
 
1015
+ if 'random_events' in ROOMS[player.CURRENTROOM]:
1016
+ for event in ROOMS[player.CURRENTROOM]['random_events']:
1017
+ if isinstance(event, RandomEvent):
1018
+ event.check_and_trigger(player)
1019
+
1012
1020
  # Move guards
1013
1021
  for guard in guards:
1014
1022
  if isinstance(guard, Guard):
@@ -57,6 +57,9 @@ class Door:
57
57
  else:
58
58
  type_text("The door is locked.")
59
59
  return currentroom
60
+
61
+ def __str__(self) -> str:
62
+ return self.CurentRevealStr
60
63
 
61
64
  class SwitchDoor(Door):
62
65
  def __init__(self, RoomOneName, RoomTwoName, KeyCode=None) -> None:
@@ -221,6 +224,14 @@ ROOMS = {
221
224
  'I wonder if there is anything salvageable in the %*RED*%cupboards%*RESET*%.',
222
225
  'I should probably look around.',
223
226
  ],
227
+ 'random_events': [
228
+ RandomEvent(
229
+ name='Event name',
230
+ probability=0.15, # Adjust this for the probability of the event running (e.g., 0.1 is 10% chance)
231
+ condition=lambda player: True, # Condition under which the event can occur
232
+ effect=lambda player: ROOMS['Kitchen']['containers']['cupboards'].take_contents(), # Define the effect of the event
233
+ )
234
+ ],
224
235
  },
225
236
 
226
237
  'Dining Room': {
@@ -317,7 +328,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
317
328
  'directions': {
318
329
  'west': Door('Armoury'),
319
330
  'south': Door('Dining Room'),
320
- 'down': 'Basement 1',
331
+ 'down': Door('Basement 1'),
321
332
  },
322
333
  'creatures stats': creature(
323
334
  'grumpy pig',
@@ -353,7 +364,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
353
364
  'position': (1, 8, 0),
354
365
  'discovered': False,
355
366
  'directions': {
356
- 'down': 'Hall',
367
+ 'down': Door('Hall'),
357
368
  'north': Door('Tower Bottom'),
358
369
  'east': Door('Bedroom'),
359
370
  'south': Door('Balcony'),
@@ -469,7 +480,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
469
480
  'directions': {
470
481
  'south': Door('Landing'),
471
482
  'east': Door('Office'),
472
- 'down': 'Armoury',
483
+ 'down': Door('Armoury'),
473
484
  'up': Door('Tower Middle'),
474
485
  },
475
486
  'info': 'You are in the base of a stone tower, there is a spiral staircase going up into the darkness.',
@@ -496,7 +507,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
496
507
  'position': (2, 0, 0),
497
508
  'discovered': False,
498
509
  'directions': {
499
- 'down': 'Tower Bottom',
510
+ 'down': Door('Tower Bottom'),
500
511
  'up': Door('Tower Top'),
501
512
  },
502
513
  'containers': {
@@ -524,7 +535,7 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
524
535
  'position': (3, 0, 0),
525
536
  'discovered': False,
526
537
  'directions': {
527
- 'down': 'Tower Middle',
538
+ 'down': Door('Tower Middle'),
528
539
  'teleport': Door('Teleportation Deck'),
529
540
  },
530
541
  'creatures stats': creature(
@@ -685,9 +696,11 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
685
696
 
686
697
  'Cavern 1': {
687
698
  'room type': 'cavern',
699
+ 'position': (-2, 0, 0),
700
+ 'discovered': False,
688
701
  'directions': {
689
702
  'up': Door('Basement 4'),
690
- 'down': 'Cavern 2',
703
+ 'down': Door('Cavern 2'),
691
704
  },
692
705
  '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!\'',
693
706
  'map': '''
@@ -707,10 +720,12 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
707
720
 
708
721
  'Cavern 2': {
709
722
  'room type': 'cavern',
723
+ 'position': (-3, 0, 0),
724
+ 'discovered': False,
710
725
  'directions': {
711
-
726
+ 'up': SwitchDoor('Cavern 1', 'Cavern 3', '7k69fImz4y')
712
727
  },
713
- '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: \'You fool! You can never escape!\'',
728
+ '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: \'You fool! You can never get back now!\'',
714
729
  'map': '''
715
730
  █████████
716
731
  █ █
@@ -722,7 +737,8 @@ You notice a ''%*RED*%storage%*RESET*% device in one corner. You hear a %*YELLOW
722
737
  █ █
723
738
  █████████''',
724
739
  'Hints': [
725
- 'I should probably quit so I\'m not here forever.',
740
+ 'I should probably go back up so I\'m not here forever.',
741
+ 'I wander what the voice was talking about.',
726
742
  ],
727
743
  },
728
744
 
@@ -156,3 +156,6 @@ class container:
156
156
 
157
157
  def Unlock(self, key: Key, player):
158
158
  return self.lock.unlock(key, player)
159
+
160
+ def __str__(self) -> str:
161
+ return self.CurentRevealStr
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: neelthee-mansion
3
- Version: 3.3.0
3
+ Version: 3.4.0
4
4
  Summary: A text-based adventure game set in Neel-thee’s mansion.
5
5
  Home-page: https://github.com/Flameblade375/neelthee_mansion
6
6
  Author: Alexander.E.F
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='neelthee_mansion',
5
- version='3.3.0',
5
+ version='3.4.0',
6
6
  packages=find_packages(), # Automatically finds all packages and modules
7
7
  install_requires=[
8
8
  'wheel', 'psutil', 'playsound', 'requests', 'keyboard', 'pandas', 'validators', 'dicttoxml', 'pytz',