SymDoor class | symconn.t[440]

A Symmetrical Door is a door that can be traversed in either direction and exists in both the locations it connects. It behaves much like a regular Door, except that it uses only one object, not two, to represent the door. It behaves even more like DSDoor, from which it descends. [SYMCOMM EXTENSION]

You'd typically use it by pointing the appropriate direction property of one room to point to it and then defining its room2 property as the room to which it leads, for example:

redRoom: Room 'Red Room'
"A door leads south. " *.
south = blackDoor
; *.
blackDoor: SymDoor 'black door'
"It's black. "
room2 = greenRoom
; *.
greenRoom: Room 'Green Room'
"A door leads north. "
;

Note that a Symdoor is a MultiLoc, so we don't use the + notation to set its location when defining it; it exists in both locations. The SYMCOMMN EXTENSION will automatically set the north property of room2 (here greenRoom) to point to the same door (here blackDoor).

Both sides of a SymDoor must have the same name ('black door' in the example above). You can, however, give the two sides of a SymDoor different descriptions if you wish by defining its room1Desc and room2Desc properties instead of its desc property (as you would expect, room1Desc and room2Desc will then be the descriptions of the door as seen from room1 and room2 respectively, where room1 and room2 have the same meaning as they have on a SymConnector). You can also give the two sides of the SymDoor different lockabilities by defining room1Lockability and room2Lockability separately. Alternatively, if you want both sides to have the same locking behaviour, just override the lockability property. The one thing you can't do (without some clever extra coding of your own) is to define different keys for each side of a SymDoor.

It's sometimes convenient to refer to a door by the direction it leads in (e.g. "The west door" or "The north door"). The symconn extension takes care of this for you automatically. For example, the black door in the example above can be referred to by the player as 'south door' when the player character is in redRoom and as 'north door' when the player character is greenRoom and the game will know which door is meant, without the game author having to take any steps to make this happen. If, however, you want to suppress this behaviour on a particular SymDoor, you can do so simply by overriding its attachDir property to nil (attachDir is a method that works out which direction property a SymDoor is attached to in the player character's location, which is used by the DirState State object to add the appropriate direction name adjectives, such as 'north', to the SymDoor's vocab).

`class SymDoor : PhysicalAutoConnector DSDoor`

Superclass Tree (in declaration order)

`SymDoor`
`PhysicalAutoConnector`
`AutoConnector`
`object`
`DSDoor`
`DSCon`
`DSBase`
`object`
`MultiLoc`
`object`
`Door`
`TravelConnector`
`object`
`Thing`
`ReplaceRedirector`
`Redirector`
`object`
`Mentionable`
`LMentionable`
`object`

Subclass Tree

(none)

Global Objects

(none)

Summary of Properties

``

Inherited from `PhysicalAutoConnector` :
`room1Vocab room2Vocab`

``

Inherited from `DSDoor` :
`lockability room1Lockability room2Lockability`

Inherited from `DSCon` :
`initialLocationList room1Desc room2Desc`

Inherited from `DSBase` :
`dirName inRoom1 inRoom2 isDestinationKnown room1 room2`

Inherited from `MultiLoc` :
`exceptions initialLocationClass locationList`

Inherited from `Door` :
`autoUnlock canGoThroughMe cannotGoThroughClosedDoorMsg isFixed isListed isOpen isOpenable openStatusReportable otherSide PushTravelVia traversalMsg`

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

Inherited from `Thing` :
`actorAlreadyInMsg actorAlreadyOnMsg actorNotInMsg actorNotOnMsg allowImplicitSay allowPourIntoMe allowPourOntoMe alreadyCleanMsg alreadyClosedMsg alreadyFastenedMsg alreadyHasMsg alreadyHeldMsg alreadyInMsg alreadyLitMsg alreadyLockedMsg alreadyMovedToMsg alreadyOnMsg alreadyOpenMsg alreadyPresentMsg alreadyThereMsg alreadyWornMsg autoGetOutToReach autoTakeOnFindHidden brightness brightnessForReading brightnessOff brightnessOn bulk bulkCapacity canAttachToMe canAttackWithMe canBurnWithMe canCleanWithMe canClimbDownMe canClimbUpMe canCutWithMe canDetachFromMe canDigWithMe canDropContents canEnterOnMe canFastenToMe canGoAlongMe canHearIn canHearOut canJumpOffMe canJumpOverMe canLieInMe canLieOnMe canLockWithMe canLookBehindMe canLookThroughMe canLookUnderMe canMoveToMe canMoveWithMe cannotAttachMsg cannotAttachToMsg cannotAttachToSelfMsg cannotAttackMsg cannotAttackWithMsg cannotAttackWithSelfMsg cannotBoardMsg cannotBreakMsg cannotBurnMsg cannotBurnWithMsg cannotCleanMsg cannotCleanWithMsg cannotClimbDownMsg cannotClimbMsg cannotCloseMsg cannotConsultMsg cannotCutMsg cannotCutWithMsg cannotCutWithSelfMsg cannotDetachFromMsg cannotDetachFromSelfMsg cannotDetachMsg cannotDigMsg cannotDigWithMsg cannotDigWithSelfMsg cannotDoffMsg cannotDrinkMsg cannotDropMsg cannotEatMsg cannotEnterMsg cannotEnterOnMsg cannotExtinguishMsg cannotFastenMsg cannotFastenToMsg cannotFastenToSelfMsg cannotFeelMsg cannotFlipMsg cannotFollowMsg cannotFollowSelfMsg cannotGetInCarriedMsg cannotGetOnCarriedMsg cannotGiveToMsg cannotGiveToSelfMsg cannotGoAlongMsg cannotGoNearThereMsg cannotGoThroughMsg cannotJumpOffMsg cannotJumpOverMsg cannotKissMsg cannotLieInMsg cannotLieOnMsg cannotLightMsg cannotLockWithMsg cannotLockWithSelfMsg cannotLookBehindMsg cannotLookThroughMsg cannotLookUnderMsg cannotMoveMsg cannotMoveToMsg cannotMoveToSelfMsg cannotMoveWithMsg cannotMoveWithSelfMsg cannotOpenMsg cannotPlugIntoMsg cannotPlugIntoSelfMsg cannotPlugMsg cannotPourIntoMsg cannotPourIntoSelfMsg cannotPourMsg cannotPourOntoMsg cannotPourOntoSelfMsg cannotPullMsg cannotPurloinContainerMsg cannotPurloinRoomMsg cannotPurloinSelfMsg cannotPushDownMsg cannotPushIntoMsg cannotPushMsg cannotPushOwnContainerMsg cannotPushThroughMsg cannotPushUpMsg cannotPushViaSelfMsg cannotPutBehindMsg cannotPutInMsg cannotPutInSelfMsg cannotPutMsg cannotPutOnMsg cannotPutUnderMsg cannotReadMsg cannotRemoveMsg cannotScrewMsg cannotScrewWithMsg cannotScrewWithSelfMsg cannotSetMsg cannotSetToMsg cannotShowToMsg cannotShowToSelfMsg cannotSitInMsg cannotSitOnMsg cannotSmellMsg cannotStandInMsg cannotStandOnMsg cannotTakeFromSelfMsg cannotTakeMsg cannotTakeMyContainerMsg cannotTakeSelfMsg cannotTalkToMsg cannotTalkToSelfMsg cannotTasteMsg cannotThrowAtMsg cannotThrowAtSelfMsg cannotThrowMsg cannotThrowToMsg cannotThrowToSelfMsg cannotTurnMsg cannotTurnToMsg cannotTurnWithMsg cannotTurnWithSelfMsg cannotTypeOnMsg cannotUnfastenFromMsg cannotUnfastenFromSelfMsg cannotUnfastenMsg cannotUnlockWithMsg cannotUnlockWithSelfMsg cannotUnplugFromMsg cannotUnplugFromSelfMsg cannotUnplugMsg cannotUnscrewMsg cannotUnscrewWithMsg cannotUnscrewWithSelfMsg cannotWearMsg cannotWriteOnMsg canPlugIntoMe canPourIntoMe canPourOntoMe canPullTravel canPushTravel canPutBehindMe canPutInMe canPutUnderMe canReachIn canReachOut canScrewWithMe canSeeIn canSeeOut canSetMeTo canSitInMe canSitOnMe canSmellIn canSmellOut canStandInMe canStandOnMe canSupply canTalkToMe canThrowAtMe canThrowToMe cantSpecialActionMsg canTurnMeTo canTurnWithMe canTypeOnMe canUnfastenFromMe canUnlockWithMe canUnplugFromMe canUnscrewWithMe canWriteOnMe checkAttackMsg checkFeelMsg checkKissMsg circularlyInMsg collectiveGroups contents contentsListed contentsListedInExamine contentsListedInLook contentsListedInSearch contType currentInterlocutor curSetting darkName decorationActions decorationActions defaultPosture desc directlyHeld directlyIn directlyWorn distinguishByContents dontNeedCleaningObjMsg dropItemsBehind dropItemsUnder dropLocation enclosing examined examineListed examineLister exitLocation extContents familiar feelDesc findHiddenDest fluidName futileToAttackMsg futileToKissMsg getBulkHiddenBehind getBulkHiddenIn getBulkHiddenUnder getFacets getOutermostRoom getOutToJump getWeightHiddenBehind getWeightHiddenIn getWeightHiddenUnder globalParamName groupOrder hearNothingMsg hiddenBehind hiddenIn hiddenUnder illuminationThreshold inDarkDesc indirectLockableMsg informedNameTab initiallyKnowsAbout initSpecialDesc intContents interiorDesc inventoryListed isAttachable isAttackable isBoardable isBreakable isBurnable isClean isCleanable isClimbable isCloseable isConsultable isCuttable isDecoration isDetachable isDiggable isDoffable isDrinkable isDroppable isEdible isEnterable isExtinguishable isFastenable isFastened isFeelable isFlippable isFollowable isHidden isInitialPlayerChar isKissable isLightable isLit isLocked isMoveable isOn isPlayerChar isPlugable isPourable isProminentNoise isProminentSmell isPullable isPushable isReadable isRemoveable isScrewable isSettable isSmellable isSwitchable isTakeable isTasteable isThrowable isTransparent isTurnable isUnfastenable isUnplugable isUnscrewable isVehicle isWearable keyDoesntWorkMsg keyList keyNotNeededMsg kissRank known knownKeyList knownProp lastSeenAt lieOnScore lightSources listableContents listenDesc listenDescWithoutSource listenDescWithSource listOrder listWith location lockedMsg lookBehindMsg lookInMsg lookListed lookThroughMsg lookUnderMsg markInventoryAsSeen matchPullOnly matchPushOnly maxBulkHiddenBehind maxBulkHiddenIn maxBulkHiddenUnder maxItemsCarried maxSingleBulk maxSingleWeight maxWeightHiddenBehind maxWeightHiddenIn maxWeightHiddenUnder mentioned moved movedTo moveNoEffectMsg mustBeCleanedWith myInventoryLister myLookBehindLister myLookInLister myLookUnderLister myOpeningContentsLister myThoughtManager myWornLister needsCleaning noLongerTalkingToAnyoneMsg nominalContents noNeedToCleanMsg notFastenedMsg notHoldingMsg notImportantMsg notInMsg notLitMsg notLockableMsg notLockedMsg notSwitchableMsg notTalkingToAnyoneMsg notWornMsg objInPrep objIntoPrep okayCleanMsg okayGetOutOfMsg okayLieInMsg okayLieOnMsg okayLockMsg okayOpenMsg okayPushIntoMsg okayPushOutOfMsg okaySetMsg okaySitInMsg okaySitOnMsg okayStandInMsg okayStandOnMsg okayUnlockMsg opacity opened owner ownsContents paraBrksBtwnSubcontents partOfYouMsg posture preCondActor pullNoEffectMsg pushNoEffectMsg readDesc recognizableInDark remapActor remapBehind remapIn remapOn remapProps remapUnder roomContentsLister roomPart roomPartDesc roomSubContentsLister roomTitle searchListed seen seenProp shouldBeBroken shouldNotBreakMsg shouldNotPourIntoMsg shouldNotPourOntoMsg sightSize sitOnScore smellDesc smellDescWithoutSource smellDescWithSource smellNothingMsg smellObj smellSize soundObj soundSize specialDesc specialDescBeforeContents specialDescListWith specialDescOrder stagingLocation standOnScore stateDesc tasteDesc throwFallsShortMsg tooDarkToReadMsg tooDarkToSeeMsg tooFarAwayToHearMsg tooFarAwayToReadMsg tooFarAwayToSeeDetailMsg tooFarAwayToSmellMsg totalWeight turnLastExamined turnLastMoved turnLastMovedInto turnNoEffectMsg useInitSpecialDesc useKey_ useSpecialDesc viaMode visibleInDark vocabLikelihood weight weightCapacity withKeyMsg wornBy`

``

``

Inherited from `Mentionable` :
`ambiguouslyPlural disambigGroup disambigMatchPhrases disambigName disambigOrder isHer isHim isIt massNoun matchPhrases matchPhrasesExclude name person plural proper qualified states vocab vocabWords`

Inherited from `LMentionable` :
`acronymPluralPat alphaCharPat aName apostPluralPat apostSPat deannotatePat dictComp dummyName elevenEighteenPat emptyVocabWords esPluralPat firstWordPat heName herName hersName himName iesPluralPat irregularPlurals lastWordPat leadingTagOrQuotePat menPluralPat objInName objIntoName objName objOutOfName oneLetterAnWordPat oneLetterWordPat ownerNamed pluralPat posPat possAdj possEnding possNoun prepList prepPhrasePat prepWordPat pronounMap properNamePat properPat reflexiveName specialAOrAn tagOrQuotePat thatName thatObjName theName theObjName trimPat truncationLength weakWordPat`

Summary of Methods

``

Inherited from `PhysicalAutoConnector` :
`initConnector`

``

Inherited from `DSDoor` :
`makeLocked makeOpen preinitThing`

Inherited from `DSCon` :
`desc`

Inherited from `DSBase` :
`attachedDir byRoom connDir doorDir getDestination room1Dir room2Dir`

Inherited from `MultiLoc` :
`addToLocations isDirectlyIn isIn isInitiallyIn location moveInto moveIntoAdd moveOutOf`

Inherited from `Door` :
`checkTravelBarriers destination dobjFor(Enter) dobjFor(GoThrough) execTravel iobjFor(PushTravelThrough) sayActorFollowing sayDeparting sayDoorOpens sayTravelerOpensDoor`

Inherited from `TravelConnector` :
`afterTravelNotifications beforeTravelNotifications canTravelerPass checkPushTravel dobjFor(TravelVia) explainTravelBarrier getDepartingDirection getTraveler hasBeenTraversedBy isConnectorVisible isDestinationKnown noteTraversal sayNoDestination travelDesc travelVia traversalMsg traversalTimeFrom`

Inherited from `Thing` :
`abcName accumulateBrightness accumulatedBrightnessWithin actionMoveInto actorAction addToAllContents addToContents afterAction afterTravel allContents allowReachOut aobjFor beforeAction beforeMovePushable beforeTravel brightnessWithin canHear cannotPushTravelMsg cannotReachOutMsg canReach canSee canSmell canTalkTo checkDisplay checkForContradictions checkInsert checkReach checkReachIn checkRemove checkRoomToHold checkSetting childLocType commonContainingParent commonInteriorParent containerPath containerPathBlock darkDesc describeMovePushable describePushTravel directChildParent discover display displayAlt dobjFor(AskAbout) dobjFor(AskFor) dobjFor(Attach) 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(ConsultAbout) dobjFor(Cut) dobjFor(CutWith) dobjFor(Default) dobjFor(Detach) dobjFor(DetachFrom) dobjFor(Dig) dobjFor(DigWith) dobjFor(Doff) dobjFor(Drink) dobjFor(Drop) dobjFor(Eat) dobjFor(EnterOn) dobjFor(Examine) dobjFor(Extinguish) dobjFor(Fasten) dobjFor(FastenTo) dobjFor(Feel) dobjFor(Flip) dobjFor(Follow) dobjFor(GetOff) dobjFor(GetOutOf) dobjFor(GiveTo) dobjFor(GiveToImplicit) dobjFor(GoAlong) dobjFor(GoNear) dobjFor(GoTo) dobjFor(JumpOff) dobjFor(JumpOver) dobjFor(Kiss) dobjFor(LieIn) dobjFor(LieOn) dobjFor(LieOn) dobjFor(Light) dobjFor(ListenTo) dobjFor(Lock) dobjFor(LockWith) dobjFor(LookBehind) dobjFor(LookIn) dobjFor(LookThrough) dobjFor(LookUnder) dobjFor(Move) dobjFor(MoveTo) dobjFor(MoveWith) dobjFor(Open) dobjFor(PlugIn) dobjFor(PlugInto) dobjFor(Pour) dobjFor(PourInto) dobjFor(PourOnto) dobjFor(Pull) dobjFor(Purloin) dobjFor(Push) dobjFor(PushTravelClimbDown) dobjFor(PushTravelClimbUp) dobjFor(PushTravelDir) dobjFor(PushTravelEnter) dobjFor(PushTravelGetOutOf) dobjFor(PushTravelThrough) dobjFor(PutBehind) dobjFor(PutIn) dobjFor(PutOn) dobjFor(PutUnder) dobjFor(QueryAbout) dobjFor(Read) dobjFor(Remove) dobjFor(SayTo) dobjFor(Screw) dobjFor(ScrewWith) dobjFor(Search) dobjFor(Set) dobjFor(SetTo) dobjFor(ShowTo) dobjFor(ShowToImplicit) dobjFor(SitIn) dobjFor(SitOn) dobjFor(SitOn) dobjFor(SmellSomething) dobjFor(SpecialAction) dobjFor(StandIn) dobjFor(StandOn) dobjFor(StandOn) dobjFor(Strike) dobjFor(SwitchOff) dobjFor(SwitchOn) dobjFor(SwitchVague) dobjFor(Take) dobjFor(TakeFrom) dobjFor(TakeFrom) dobjFor(TalkAbout) dobjFor(TalkTo) dobjFor(Taste) dobjFor(TellAbout) dobjFor(Throw) dobjFor(ThrowAt) dobjFor(ThrowDir) dobjFor(ThrowTo) dobjFor(Turn) dobjFor(TurnTo) dobjFor(TurnWith) dobjFor(TypeOn) dobjFor(TypeOnVague) dobjFor(Unfasten) dobjFor(UnfastenFrom) dobjFor(Unlock) dobjFor(UnlockWith) dobjFor(Unplug) dobjFor(UnplugFrom) dobjFor(Unscrew) dobjFor(UnscrewWith) dobjFor(Wear) dobjFor(WriteOn) doPushTravel examineStatus filterResolveList findHidden findPlausibleKey firstContainerPathBlock forget getBulkWithin getCarriedBulk getCarriedWeight getStatuslineExitsHeight getWeightWithin handleCommand hasSeen hideFromAll informedAbout interiorParent iobjFor(AttachTo) iobjFor(AttackWith) iobjFor(BurnWith) iobjFor(CleanWith) iobjFor(CutWith) iobjFor(Default) iobjFor(DetachFrom) iobjFor(DigWith) iobjFor(FastenTo) iobjFor(GiveTo) iobjFor(LockWith) iobjFor(MoveTo) iobjFor(MoveWith) iobjFor(PlugInto) iobjFor(PourInto) iobjFor(PourOnto) iobjFor(PushTravelClimbDown) iobjFor(PushTravelClimbUp) iobjFor(PushTravelEnter) iobjFor(PushTravelGetOutOf) 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) isAudibleFrom isChild isDirectChild isDirectlyHeldBy isDirectlyWornBy isHeldBy isIlluminated isInterior isOrIsIn isOutside isReadableFrom isSmellableFrom isThereALightSourceIn isVisibleFrom isWornBy knowsAbout listableContentsOf listContents listenDesc listRemoteContents listSubcontentsOf litWithin locationWhich locType lookAroundWithin makeCleaned makeFastened makeLit makeMovedTo makeOn makeSetting makeWorn markContradiction moveHidden moveMLIntoAdd moveMLOutOf nestedLoc nominalOwner noteSeen notifyContradiction notifyEvent notifyInsert notifyRemove notifySightEvent notifySmellEvent notifySoundEvent notionalContents outermostParent outermostVisibleParent ownedBy preAction pushTravelRevealItems reachBlockedMsg remoteBrightness remoteInitSpecialDesc remoteObjInName remoteSpecialDesc removeFromContents revealOnMove roomHeadline roomSubhead sayCantBearMoreWeight sayDontKnowHowToGetThere sayDontKnowHowToReach sayFindHidden sayPushTravel sayTooHeavy sayTooHeavyToHide scoreObject setHasSeen setInformed setKnown setKnowsAbout setSeen shinesOut showConnectedMiscContents showFirstConnectedSpecials showRemoteSpecialDesc showSecondConnectedSpecials showSpecialDesc showStatuslineExits smellDesc statusName totalBulkIn totalWeightIn traceContainerPath tryCheck tryMakingPosture unmention unmentionRemoteContents verifyActor verifyEnterPosture verifyPushTravel wouldBeLitFor`

Inherited from `ReplaceRedirector` :
`redirect`

Inherited from `Redirector` :
`doInstead doNested doOtherAction`

Inherited from `Mentionable` :
`construct matchName matchNameCommon matchNameDisambig phraseMatchName simpleMatchName`

Inherited from `LMentionable` :
`addDictWord addVocab addVocabWord aNameFrom aNameFromPoss classInit contify distinguishedName ifPronoun inheritVocab initVocab initVocabWord locify matchPronoun pluralNameFrom pluralWordFrom possessify pronoun removeVocabWord replaceVocab theNameFrom theNameIs`

Properties

(none)

Methods

(none)

Adv3Lite Library Reference Manual
Generated on 02/05/2024 from adv3Lite version 2.0