Passage class | travel.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

`destination` | `travel.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

`otherSide` | `travel.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)`OVERRIDDEN | `travel.t[2515]`

the connector back is our complementary side, if we have one

`dobjFor(LookThrough)`OVERRIDDEN | `travel.t[2576]`

inherit the default checks

`dobjFor(TravelVia)`OVERRIDDEN | `travel.t[2549]`

carry out travel via this connector

`fixedSource (origin, traveler)`OVERRIDDEN | `travel.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)`OVERRIDDEN | `travel.t[2426]`

get my destination - just return my 'destination' property

`getFacets ( )`OVERRIDDEN | `travel.t[2505]`

our other side is the other facet of the passage

`initializeThing ( )`OVERRIDDEN | `travel.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)`OVERRIDDEN | `travel.t[2462]`

a passage is passable when it's open

`isConnectorVisibleInDark (origin, actor)`OVERRIDDEN | `travel.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