SymDoorclass

symconn.t[641]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

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. [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 :   SymPassage

Superclass Tree   (in declaration order)

SymDoor
SymPassage
MultiLoc
`                         object [SymConnector](../object/SymConnector.html) [TravelConnector](../object/TravelConnector.html)                                 object [Thing](../object/Thing.html) [ReplaceRedirector](../object/ReplaceRedirector.html) [Redirector](../object/Redirector.html)                                         object [Mentionable](../object/Mentionable.html) [LMentionable](../object/LMentionable.html)                                         object`

Subclass Tree  

(none)

Global Objects  

(none)

Summary of Properties  

autoUnlock cannotGoThroughClosedDoorMsg isOpen isOpenable lockability openStatusReportable room1Lockability room2Lockability

Inherited from SymPassage :
canGoThroughMe isFixed PushTravelVia room1Desc room1Vocab room2Desc room2Vocab traversalMsg

Inherited from MultiLoc :
exceptions initialLocationClass initialLocationList locationList

Inherited from SymConnector :
destination dirName inRoom1 inRoom2 isDestinationKnown room1 room1Dir room2 room2Dir rooms

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

Inherited from Thing :
actorAlreadyInMsg actorAlreadyOnMsg actorNotInMsg actorNotOnMsg 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 canEnterOnMe canFastenToMe canGoAlongMe canGoThrougMe 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 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 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 isListed 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 maxSingleBulk maxSingleWeight maxWeightHiddenBehind maxWeightHiddenIn maxWeightHiddenUnder mentioned moved movedTo moveNoEffectMsg mustBeCleanedWith myInventoryLister myLookBehindLister myLookInLister myLookUnderLister myOpeningContentsLister 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  

checkTravelBarriers dobjFor(GoThrough) iobjFor(PushTravelThrough)

Inherited from SymPassage :
attachedDir desc dobjFor(Enter) dobjFor(GoAlong) initConnector sayActorFollowing sayDeparting

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

Inherited from SymConnector :
byRoom execTravel getDestination

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 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(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(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 getBulkWithin getCarriedBulk getCarriedWeight getStatuslineExitsHeight getWeightWithin handleCommand hasSeen hideFromAll 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 makeLocked makeMovedTo makeOn makeOpen makeSetting makeWorn moveHidden moveMLIntoAdd moveMLOutOf nestedLoc nominalOwner noteSeen notifyEvent notifyInsert notifyRemove notifySightEvent notifySmellEvent notifySoundEvent notionalContents outermostParent outermostVisibleParent ownedBy pushTravelRevealItems reachBlockedMsg remoteBrightness remoteInitSpecialDesc remoteObjInName remoteSpecialDesc removeFromContents revealOnMove roomHeadline roomSubhead sayCantBearMoreWeight sayDontKnowHowToGetThere sayDontKnowHowToReach sayFindHidden sayPushTravel sayTooHeavy sayTooHeavyToHide scoreObject setHasSeen 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  

autoUnlockOVERRIDDEN

symconn.t[675]

Flag, do we want to attempt to unlock this door via an implicit action if someone attempts to open it while it’s locked? [SYMCOMM EXTENSION]

cannotGoThroughClosedDoorMsg

symconn.t[663]

If we can’t go through the door, use Door’s version of the appropriate method. [SYMCOMM EXTENSION]

isOpenOVERRIDDEN

symconn.t[646]

A door usually starts out closed. [SYMCOMM EXTENSION]

isOpenableOVERRIDDEN

symconn.t[643]

A door is usually openable. [SYMCOMM EXTENSION]

lockabilityOVERRIDDEN

symconn.t[684]

The lockability of this Door (notLockable, lockableWithKey, lockableWithoutKey, or indirectLockable). This can be different for each side of the door, in which case set room1Lockability and room2Lockability individually and the game will use the lockability appropriate to the location of the current actor. If you want the same lockability for both sides of the door, simply override lockability accordingly. [SYMCONN EXTENSION]

openStatusReportableOVERRIDDEN

symconn.t[669]

By default we leave game authors to decide if and how they want to report whether a door is open or closed. [SYMCOMM EXTENSION]

room1Lockability

symconn.t[689]

Our lockability on the room1 side of the door. [SYMCONN EXTENSION]

room2Lockability

symconn.t[694]

Our lockability on the room2 side of the door. [SYMCONN EXTENSION]

Methods  

checkTravelBarriers (traveler)OVERRIDDEN

symconn.t[654]

Although SymDoor doesn’t inherit from Door, it needs to use Door’s checkTravelBarriers() method to attempt to open the door via an implicit action if an attempt is made to go through it when it’s closed. [SYMCOMM EXTENSION]

dobjFor(GoThrough)OVERRIDDEN

symconn.t[696]

no description available

iobjFor(PushTravelThrough)OVERRIDDEN

symconn.t[701]

no description available

Adv3Lite Library Reference Manual
Generated on 15/03/2023 from adv3Lite version 1.6.1