Passageclasstravel.t[2408]

Base class for passages between rooms. This can be used for a passage that not only connects the rooms but also exists as an object in its own right within the rooms it connects.

In most cases, two passage objects will exist - one on each side of the passage, so one object in each room connected. One of the objects should be designated as the "master"; the other is the "slave." The master object is the one which should implement all special behavior involving state changes (such as opening or closing a door).

This basic passage is not designed to be opened and closed; use Door for a passage that can be opened and closed.

class Passage :   Linkable   Fixture   TravelConnector

Superclass Tree   (in declaration order)

Passage
        Linkable
                object
        Fixture
                NonPortable
                        Thing
                                VocabObject
                                        object
        TravelConnector
                Thing
                        VocabObject
                                object

Subclass Tree  

Passage
        Stairway
                StairwayDown
                StairwayUp
        ThroughPassage
                BasicDoor
                        Door
                                AutoClosingDoor
                        SecretDoor
                                HiddenDoor
                ExitOnlyPassage
                PathPassage

Global Objects  

(none)

Summary of Properties  

destination  isOpen_  otherSide 

Inherited from Fixture :
cannotMoveMsg  cannotPutMsg  cannotTakeMsg 

Inherited from NonPortable :
bulk  contentsListed  isListed  isListedInContents  isListedInInventory  weight 

Inherited from Thing :
actorInAName  actorInName  actorInPrep  actorIntoName  actorOutOfName  actorOutOfPrep  aDisambigName  allStates  aName  brightness  canBeHeard  canBeSeen  canBeSmelled  canBeTouched  canMatchHer  canMatchHim  canMatchIt  canMatchThem  circularlyInMessage  collectiveGroup  collectiveGroups  contents  contentsListedInExamine  contentsListedSeparately  contentsLister  descContentsLister  described  disambigEquivName  disambigName  distantDesc  distantInitSpecialDesc  distantSpecialDesc  distinguishers  dummyName  effectiveFollowLocation  equivalenceKey  equivalentGrouper  equivalentGrouperClass  equivalentGrouperTable  esEndingPat  explicitVisualSenseInfo  getState  globalParamName  holdingIndex  iesEndingPat  initDesc  initNominalRoomPartLocation  initSpecialDesc  inlineContentsLister  isEquivalent  isHer  isHim  isInInitState  isKnown  isLikelyCommandTarget  isListedAboardVehicle  isMassNoun  isPlural  isProperName  isQualifiedName  isThingConstructed  isTopLevel  listName  listWith  location  lookInLister  moved  name  nameDoes  nameSays  nameSees  notTravelReadyMsg  objectNotifyList  objInPrep  obscuredInitSpecialDesc  obscuredSpecialDesc  owner  patElevenEighteen  patIsAlpha  patLeadingTagOrQuote  patOfPhrase  patOneLetterAnWord  patOneLetterWord  patSingleApostropheS  patTagOrQuoteChar  patUpperOrDigit  patVowelY  pluralDisambigName  pluralName  pronounSelector  roomDarkName  roomLocation  roomName  seen  sightPresence  sightSize  smellPresence  smellSize  soundPresence  soundSize  specialContentsLister  specialDesc  specialDescBeforeContents  specialDescListWith  specialDescOrder  specialNominalRoomPartLocation  suppressAutoSeen  takeFromNotInMessage  theDisambigName  theName  theNamePossNoun  tmpAmbient_  tmpAmbientFill_  tmpAmbientWithin_  tmpFillMedium_  tmpObstructor_  tmpObstructorWithin_  tmpPathIsIn_  tmpTrans_  tmpTransWithin_  touchPresence  touchSize  verbCan  verbCannot  verbCant  verbEndingSD  verbEndingSEd  verbEndingSMessageBuilder_  verbMust  verbToCome  verbToDo  verbToGo  verbToLeave  verbToSay  verbToSee  verbWill  verbWont 

Inherited from VocabObject :
canResolvePossessive  disambigPromptOrder  pluralOrder  vocabLikelihood  vocabWords  weakTokens 

Inherited from TravelConnector :
connectorStagingLocation  isCircularPassage  isConnectorListed  rememberCircularPassage  travelBarrier  travelMemory 

Summary of Methods  

canActorTravel  cannotTravel  connectorBack  dobjFor(LookThrough)  dobjFor(TravelVia)  fixedSource  getDestination  getFacets  initializeThing  initMasterObject  isConnectorPassable  isConnectorVisibleInDark  isOpen 

Inherited from Linkable :
masterObject 

Inherited from Fixture :
dobjFor(Move)  dobjFor(MoveTo)  dobjFor(MoveWith)  dobjFor(Pull)  dobjFor(Push)  dobjFor(PushTravel)  dobjFor(PutBehind)  dobjFor(PutIn)  dobjFor(PutOn)  dobjFor(PutUnder)  dobjFor(Take)  dobjFor(TakeFrom)  dobjFor(ThrowAt)  dobjFor(ThrowDir)  hideFromAll  hideFromDefault  isOwnedBy  verifyMoveTo 

Inherited from NonPortable :
contentsInFixedIn  dobjFor(Examine)  dobjFor(ShowTo)  isHeldBy  meetsObjHeld 

Inherited from Thing :
acceptCommand  addAllContents  addDirectConnections  addObjectNotifyItem  addToContents  addToSenseInfoTable  adjustLookAroundTable  adjustThrowDestination  afterAction  afterTravel  allContents  aNameFrom  aNameObj  aNameOwnerLoc  announceDefaultObject  appendHeldContents  atmosphereList  baseMoveInto  basicExamine  basicExamineFeel  basicExamineListen  basicExamineSmell  basicExamineTaste  beforeAction  beforeTravel  buildContainmentPaths  cacheAmbientInfo  cacheSenseInfo  cacheSensePath  canBeHeardBy  canBeSeenBy  canBeSensed  canBeSmelledBy  canBeTouchedBy  canDetailsBeSensed  canHear  canMatchPronounType  canMoveViaPath  cannotGoShowExits  cannotReachObject  cannotSeeSmellSource  cannotSeeSoundSource  canOwn  canSee  canSmell  canThrowViaPath  canTouch  canTouchViaPath  checkActorOutOfNested  checkBulkChange  checkBulkChangeWithin  checkMoveViaPath  checkStagingLocation  checkThrowViaPath  checkTouchViaPath  checkTravelerDirectlyInRoom  childInName  childInNameGen  childInNameWithOwner  childInRemoteName  clearSenseInfo  cloneForMultiInstanceContents  cloneMultiInstanceContents  conjugateRegularVerb  connectionTable  construct  countDisambigName  countListName  countName  countNameFrom  countNameOwnerLoc  darkRoomContentsLister  defaultDistantDesc  defaultObscuredDesc  desc  directionForConnector  distantSmellDesc  distantSoundDesc  dobjFor(AskAbout)  dobjFor(AskFor)  dobjFor(AskVague)  dobjFor(AttachTo)  dobjFor(Attack)  dobjFor(AttackWith)  dobjFor(Board)  dobjFor(Break)  dobjFor(Burn)  dobjFor(BurnWith)  dobjFor(Clean)  dobjFor(CleanWith)  dobjFor(Climb)  dobjFor(ClimbDown)  dobjFor(ClimbUp)  dobjFor(Close)  dobjFor(Consult)  dobjFor(ConsultAbout)  dobjFor(CutWith)  dobjFor(Detach)  dobjFor(DetachFrom)  dobjFor(Dig)  dobjFor(DigWith)  dobjFor(Doff)  dobjFor(Drink)  dobjFor(Drop)  dobjFor(Eat)  dobjFor(Enter)  dobjFor(EnterOn)  dobjFor(Extinguish)  dobjFor(Fasten)  dobjFor(FastenTo)  dobjFor(Feel)  dobjFor(Flip)  dobjFor(Follow)  dobjFor(GetOffOf)  dobjFor(GetOutOf)  dobjFor(GiveTo)  dobjFor(GoThrough)  dobjFor(JumpOff)  dobjFor(JumpOver)  dobjFor(Kiss)  dobjFor(LieOn)  dobjFor(Light)  dobjFor(ListenTo)  dobjFor(Lock)  dobjFor(LockWith)  dobjFor(LookBehind)  dobjFor(LookIn)  dobjFor(LookUnder)  dobjFor(Open)  dobjFor(PlugIn)  dobjFor(PlugInto)  dobjFor(Pour)  dobjFor(PourInto)  dobjFor(PourOnto)  dobjFor(Read)  dobjFor(Remove)  dobjFor(Screw)  dobjFor(ScrewWith)  dobjFor(Search)  dobjFor(Set)  dobjFor(SetTo)  dobjFor(SitOn)  dobjFor(Smell)  dobjFor(StandOn)  dobjFor(Strike)  dobjFor(Switch)  dobjFor(TalkTo)  dobjFor(Taste)  dobjFor(TellAbout)  dobjFor(TellVague)  dobjFor(Throw)  dobjFor(ThrowTo)  dobjFor(Turn)  dobjFor(TurnOff)  dobjFor(TurnOn)  dobjFor(TurnTo)  dobjFor(TurnWith)  dobjFor(TypeLiteralOn)  dobjFor(TypeOn)  dobjFor(Unfasten)  dobjFor(UnfastenFrom)  dobjFor(Unlock)  dobjFor(UnlockWith)  dobjFor(Unplug)  dobjFor(UnplugFrom)  dobjFor(Unscrew)  dobjFor(UnscrewWith)  dobjFor(Wear)  examineListContents  examineListContentsWith  examineSpecialContents  examineStatus  failCheck  feelDesc  fillMedium  findOpaqueObstructor  findTouchObstructor  forEachConnectedContainer  forEachContainer  fromPOV  getAllForTakeFrom  getAllPathsTo  getAnnouncementDistinguisher  getBagAffinities  getBagsOfHolding  getBestDistinguisher  getBulk  getBulkWithin  getCarryingActor  getCommonContainer  getCommonDirectContainer  getConnectedContainers  getConnectorTo  getContentsForExamine  getDestName  getDropDestination  getEncumberingBulk  getEncumberingWeight  getExtraScopeItems  getHitFallDestination  getIdentityObject  getInScopeDistinguisher  getListedContents  getLocPushTraveler  getLocTraveler  getMovePathTo  getNoise  getNominalDropDestination  getNominalOwner  getObjectNotifyList  getOdor  getOutermostRoom  getOutermostVisibleRoom  getRoomNotifyList  getRoomPartLocation  getStateWithInfo  getStatuslineExitsHeight  getThrowPathTo  getTouchPathTo  getTravelConnector  getVisualSenseInfo  getWeight  hasCollectiveGroup  initializeEquivalent  initializeLocation  inRoomName  iobjFor(AttachTo)  iobjFor(AttackWith)  iobjFor(BurnWith)  iobjFor(CleanWith)  iobjFor(CutWith)  iobjFor(DetachFrom)  iobjFor(DigWith)  iobjFor(FastenTo)  iobjFor(GiveTo)  iobjFor(LockWith)  iobjFor(MoveWith)  iobjFor(PlugInto)  iobjFor(PourInto)  iobjFor(PourOnto)  iobjFor(PutBehind)  iobjFor(PutIn)  iobjFor(PutOn)  iobjFor(PutUnder)  iobjFor(ScrewWith)  iobjFor(ShowTo)  iobjFor(TakeFrom)  iobjFor(ThrowAt)  iobjFor(ThrowTo)  iobjFor(TurnWith)  iobjFor(UnfastenFrom)  iobjFor(UnlockWith)  iobjFor(UnplugFrom)  iobjFor(UnscrewWith)  isActorTravelReady  isComponentOf  isDirectlyIn  isIn  isInFixedIn  isListed  isListedInContents  isListedInInventory  isListedInRoomPart  isLookAroundCeiling  isNominallyIn  isNominallyInRoomPart  isOccludedBy  isOrIsIn  isShipboard  isVocabEquivalent  itIs  itNom  itObj  itPossAdj  itPossNoun  itVerb  listCardinality  localDirectionLinkForConnector  lookAround  lookAroundPov  lookAroundWithin  lookAroundWithinContents  lookAroundWithinDesc  lookAroundWithinName  lookAroundWithinSense  lookAroundWithinShowExits  lookInDesc  mainExamine  mainMoveInto  mapPushTravelHandlers  mapPushTravelHandlers  mapPushTravelHandlers  mapPushTravelHandlers  mapPushTravelHandlers  mergeSenseInfo  mergeSenseInfoTable  moveInto  moveIntoForTravel  moveIntoNotifyPath  mustMoveObjInto  nameIs  nameIsnt  nameVerb  normalizePath  notePromptByOwnerLoc  notePromptByPossAdj  noteSeenBy  notifyInsert  notifyMoveInto  notifyMoveViaPath  notifyRemove  obscuredDesc  obscuredSmellDesc  obscuredSoundDesc  pluralNameFrom  processThrow  propHidesProp  propWithPresent  putInName  receiveDrop  remoteDesc  remoteInitSpecialDesc  remoteRoomContentsLister  remoteSpecialDesc  removeFromContents  removeObjectNotifyItem  restoreLocation  roomActorThereDesc  roomContentsLister  roomDaemon  roomDarkDesc  roomDesc  roomFirstDesc  roomRemoteDesc  roomTravelPreCond  saveLocation  selectPathTo  sendNotifyInsert  sendNotifyRemove  senseAmbientMax  senseInfoTable  senseObj  sensePathFromWithin  sensePathFromWithout  sensePathToContents  sensePathToLoc  sensePresenceList  setAllSeenBy  setContentsSeenBy  setGlobalParamName  setVisualSenseInfo  shineFromWithin  shineFromWithout  shineOnContents  shineOnLoc  showDistantSpecialDesc  showDistantSpecialDescInContents  showInventoryContents  showInventoryItem  showInventoryItemCounted  showListItem  showListItemCounted  showListItemCountedGen  showListItemGen  showObjectContents  showObscuredSpecialDesc  showObscuredSpecialDescInContents  showRemoteSpecialDesc  showRemoteSpecialDescInContents  showSpecialDesc  showSpecialDescInContents  showSpecialDescInContentsWithInfo  showSpecialDescWithInfo  showStatuslineExits  showWornItem  showWornItemCounted  smellDesc  smellHereDesc  soundDesc  soundHereDesc  specialDescList  specialPathFrom  statusName  stopThrowViaPath  superHidesSuper  tasteDesc  thatNom  thatObj  theNameFrom  theNameObj  theNameOwnerLoc  theNameWithOwner  throwTargetCatch  throwTargetHitWith  throwViaPath  transmitAmbient  transSensingIn  transSensingOut  traversePath  tryHolding  tryImplicitRemoveObstructor  tryMovingObjInto  useInitDesc  useInitSpecialDesc  useSpecialDesc  useSpecialDescInContents  useSpecialDescInRoom  useSpecialDescInRoomPart  verbEndingEs  verbEndingIes  verbEndingS  verbToHave  verbWas  verifyFollowable  verifyInsert  verifyRemove  whatIf  whatIfHeldBy  withVisualSenseInfo 

Inherited from VocabObject :
addToDictionary  expandPronounList  filterResolveList  inheritVocab  initializeVocab  initializeVocabWith  matchName  matchNameCommon  matchNameDisambig  throwNoMatchForLocation  throwNoMatchForPossessive  throwNothingInLocation 

Inherited from TravelConnector :
actorTravelPreCond  canTravelerPass  checkTravelBarriers  connectorGetConnectorTo  connectorTravelPreCond  createUnlistedProxy  darkTravel  describeArrival  describeDeparture  describeLocalArrival  describeLocalDeparture  describeRemoteTravel  explainTravelBarrier  getApparentDestination  isConnectorApparent  noteTraversal  rememberTravel 

Properties  

destinationtravel.t[2423]

Our destination - this is where the actor ends up when traveling through the passage (assuming the passage is open). By default, we return the "room location" of our other side's container; in cases where our other side is not directly in our destination room (for example, the other side is part of some larger object structure), this property should be overridden to specify the actual destination.

If our otherSide is nil, the passage doesn't go anywhere. This can be useful to create things that look and act like passages, but which don't actually go anywhere - in other words, passage-like decorations.

isOpen_travel.t[2439]
internal open/closed status - open by default

otherSidetravel.t[2502]
Our corresponding passage object on the other side of the passage. This will be set automatically during initialization based on the masterObject property of the slave - it is not generally necessary to set this manually.

Methods  

canActorTravel (actor)travel.t[2526]

can the given actor travel through this passage?

cannotTravel ( )travel.t[2542]
Display our message when we don't allow the actor to travel through the passage because the passage is closed. By default, we'll simply display the default cannotTravel message for the actor's location, but this can be overridden to provide a more specific report of the problem.

connectorBack (traveler, dest)OVERRIDDENtravel.t[2515]
the connector back is our complementary side, if we have one

dobjFor(LookThrough)OVERRIDDENtravel.t[2576]
inherit the default checks

dobjFor(TravelVia)OVERRIDDENtravel.t[2549]
carry out travel via this connector

fixedSource (origin, traveler)OVERRIDDENtravel.t[2512]
our source is always our destination, since we have a one-to-one relationship with our comlementary passage in the destination location (we point to it, it points to us)

getDestination (origin, traveler)OVERRIDDENtravel.t[2426]
get my destination - just return my 'destination' property

getFacets ( )OVERRIDDENtravel.t[2505]
our other side is the other facet of the passage

initializeThing ( )OVERRIDDENtravel.t[2468]
Initialize. If we're a slave, we'll set up the otherSide relationship between this passage and our master passage.

initMasterObject (other)travel.t[2494]
Initialize the master object. The other side of a two-sided door will call this on the master object to let the master object know about the other side. 'other' is the other-side object. By default, we'll simply remember the other object in our own 'otherSide' property.

isConnectorPassable (origin, traveler)OVERRIDDENtravel.t[2462]
a passage is passable when it's open

isConnectorVisibleInDark (origin, actor)OVERRIDDENtravel.t[2458]
We're not visible in the dark if we're closed. If we're open, the normal rules apply.

Normally, a passage is visible in the dark if there's light in the adjoining location: our model is that enough light is leaking in through the passage to make the passage itself visible, but not enough to light anything else in the current room. In the case of a closed passage, though, we assume that it completely blocks any light from the other room, eliminating any indication of a passage.

If you do want an openable passage to be visible in the dark even when it's closed, it's probably better to make the passage self-illuminating (i.e., with brightness 1), because this will put the passage in scope and thus allow it to be manipulated.

isOpen ( )travel.t[2429]
get our open/closed status

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3