Main Connecting Starting



Building: RoomGroups

Room groups are a bunch of rooms associated for various purpose. They are represented as a room (or a seperate standalone object) with some special properties:

A RoomGroupDoor

is a door or other door-like object that might block certain effects from spreading to an adjacent RoomGroup

Certain libs and traps called on a room or roomgroupdoor, that are part of a roomgroup, will:

Example of RoomGroups in action

room1 is a RoomGroup 'containing' room2 and room3

room4 is a RoomGroup 'containing' room5 and room6

room1 is linked to room4 by a RoomGroupDoor: door1

depressurise(room1) will:
 - Notice that room1 has a roomgroup property, and get the roomgroup's subrooms:
   - Perform depressurisation stuff on on rooms 1, 2 and 3
   - notice the roomgroup is linked to another roomgroup and check the state and flags on the roomgroupdoor:
     - If door1 is open then depressurise(group2)
     - If door1 is closed or locked but does not have flag.Airtight then it will call depressurise(group2) 
etc.

Suggested libs that would use this