SymConnectorclasssymconn.t[259]

A Symmetrical Connector is a special type of TravelConnector between rooms that can be traversed in either direction and that, optionally, can largely set itself up so that if the dir property of room1 points to this SymConnector, the reverse dir property of room2 also points to this SymConnector. [SYMCOMM EXTENSION]

SymConnector is a type of TravelConnector (from which it descends by inheritance). A SymConnector can be traversed in both directions, and defining a SymConnector on a direction property of one room automatically attaches it to the reverse direction property of the room to which it leads. Otherwise, a SymConnector behaves much like any other TravelConnector, and can be used to define travel barriers or the side-effects of travel in much the same way.

Internally a SymConnector defines a room1 property and a room2 property, room1 and room2 being the two rooms reciprocally connected by the SymConnector. The room1 and room2 can be set by the extension at preinit if the connector's destination is specified, but it's probably clearer and safer to explictily set the room1 and room2 properties.

class SymConnector :   TravelConnector

Superclass Tree   (in declaration order)

SymConnector
        TravelConnector
                object

Subclass Tree  

SymConnector
        SymPassage
                SymDoor
                SymPathPassage
                SymStairway

Global Objects  

(none)

Summary of Properties  

destination  dirName  inRoom1  inRoom2  isDestinationKnown  isOpen  room1  room1Dir  room2  room2Dir  rooms 

Inherited from TravelConnector :
isConnectorApparent  isConnectorListed  PushTravelVia  suppressTravelDescForPushTravel  transmitsLight  travelBarriers  traversalTime  traversed  traversedBy 

Summary of Methods  

byRoom  execTravel  getDestination  initConnector 

Inherited from TravelConnector :
afterTravelNotifications  beforeTravelNotifications  canTravelerPass  checkPushTravel  checkTravelBarriers  dobjFor(GoThrough)  dobjFor(TravelVia)  explainTravelBarrier  getDepartingDirection  getTraveler  hasBeenTraversedBy  iobjFor(PushTravelThrough)  isConnectorVisible  isDestinationKnown  noteTraversal  sayActorFollowing  sayDeparting  sayNoDestination  travelDesc  travelVia  traversalMsg  traversalTimeFrom 

Properties  

destinationOVERRIDDENsymconn.t[311]

Our notional destination (if this is defined it will be copied to room2 at preinit). [SYMCOMM EXTENSION]

dirNamesymconn.t[288]
The name of our direction of travel from the point of view of the player character depending on whether the pc is in room1 or room2.

inRoom1symconn.t[410]
Test whether the player character is in our room1

inRoom2symconn.t[413]
Test whether the player character is in our room2

isDestinationKnownsymconn.t[347]
By default the player character doesn't start off knowing where this connector leads. Once the pc has been through the connector in either direction this becomes true on both sides of the connector. [SYMCOMM EXTENSION]

isOpenOVERRIDDENsymconn.t[350]
A SymConnector is usually open. [SYMCOMM EXTENSION]

room1symconn.t[265]
The room from/to which this SymConnector leads. Note we can leave this to be set up by our initConnector() method. [SYMCOMM EXTENSION]

room1Dirsymconn.t[276]
The direction an actor needs to travel in to travel via us from room1. This is set up in Room initObj();

room2symconn.t[270]
The room to/from which this SymConnector leads. [SYMCOMM EXTENSION]

room2Dirsymconn.t[282]
The direction an actor needs to travel in to travel via us from room2. This is set up in Room initObj();

roomssymconn.t[356]
The rooms property provides an alternative and slightly shorthand way of defining our two rooms. If defined, it must contain exactlty two rooms in the order [room1, room2].

Methods  

byRoom (args)symconn.t[416]

return a or b depending on which room the player char is in

execTravel (actor, traveler, conn)OVERRIDDENsymconn.t[318]
Execute travel through this connector. The difference for the SYMCOMM EXTENSION is that an actor travelling through this connector ends up knowing where both sides lead to.

getDestination (origin)OVERRIDDENsymconn.t[293]
Our destination depends on our origin. [SYMCOMM EXTENSION]

initConnector (loc, dir)symconn.t[363]
Initialize this SymConnector by setting up its room1 and room2 properties if they are not already defined. This method is normally called from the preinitThing() method of the room that first defines this connector. [SYMCOMM EXTENSION]

Adv3Lite Library Reference Manual
Generated on 01/03/2024 from adv3Lite version 1.6.2