> cat /wizhelp/rooms
========================================================================
RandomRooms & Special Rooms
========================================================================
RANDOMROOM - Drops items on entry:
```python
from lib.special_rooms import RandomRoom
def load():
room = RandomRoom(
name='treasure_vault',
description="A glittering treasure chamber...",
# Customize drops (must = 100)
drop_chances={
'coins': 50,
'weapon': 20,
'armor': 15,
'healing': 10,
'wand': 5
},
# Coin range
base_coin_range=(500, 1500),
# Block teleport
no_teleport=True
)
return room
```
SEARCHROOM - Players can search:
```python
from lib.special_rooms import SearchRoom
def load():
room = SearchRoom(
name='abandoned_lab',
description="A dusty laboratory...",
# 10% chance each
search_items=[
('poison_glob', 'mike/poison_glob'),
('battle_sword', 'random/battle_sword'),
('heal_200', None), # Creates heal
('coins_5000', None) # Creates money
]
)
return room
```
REAL EXAMPLE (tdcj_76.py):
```python
def load():
room = RandomRoom(
name='tdcj_76',
description="Infirmary Treatment Room...",
exits=[
Exit('east', 'tdcj_77', ExitType.DOOR)
]
)
# Lock exit until puzzle complete
for exit_obj in room.exits:
if exit_obj.name == 'east':
def can_traverse(player):
# Check puzzle state
terminal = game_state.rooms.get('tdcj_99')
if terminal and terminal.puzzle_complete:
return True, ""
return False, "Door is locked."
exit_obj.can_traverse = can_traverse
```
KEY FEATURES:
- RandomRoom resets every 4-6 minutes
- No_teleport blocks all teleportation
- Custom drop_chances control loot
- SearchRoom has 60-second cooldown
========================================================================
>
_