Room Part - base class for "parts" of rooms, such as floors and walls. Room parts are unusual in a couple of ways.

First, room parts are frequently re-used widely throughout a game. We define a single instance of each of several parts that are found in typical rooms, and then re-use those instances in all rooms with those parts. For example, we define one "default floor" object, and then use that object in most or all rooms that have floors. We do this for efficiency, to avoid creating hundreds of essentially identical copies of the common parts.

Second, because room parts are designed to be re-used, things that are in or on the parts are actually represented in the containment model as being directly in their containing rooms. For example, an object that is said to be "on the floor" actually has its 'location' property set to its immediate room container, and the 'contents' list that contains the object is that of the room, not of the floor object. We must therefore override some of the normal handling for object locations within room parts, in order to make it appear (for the purposes of command input and descriptive messages) that the things are in/on their room parts, even though they're not really represented that way in the containment model.

class RoomPart :   Fixture

Superclass Tree   (in declaration order)


Subclass Tree  


Global Objects  

defaultCeiling  defaultSky 

Summary of Properties  

contentsLister  descContentsLister  lookInLister  nothingBehindMsg  nothingThroughMsg  nothingUnderMsg  sightSize  specialContentsLister 

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  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  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  smellPresence  smellSize  soundPresence  soundSize  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 

Summary of Methods  

dobjFor(Examine)  dobjFor(LookIn)  examinePartContents  examineSpecialContents  examineStatus  filterResolveList  getHitFallDestination  hideFromAll  hideFromDefault  initializeThing  isIn  isObjListedInRoomPart  moveIntoAdd  moveOutOf 

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)  isOwnedBy  verifyMoveTo 

Inherited from NonPortable :
contentsInFixedIn  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(LookThrough)  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  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  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  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  getFacets  inheritVocab  initializeVocab  initializeVocabWith  matchName  matchNameCommon  matchNameDisambig  throwNoMatchForLocation  throwNoMatchForPossessive  throwNothingInLocation 



our contents listers

no description available

no description available

no description available

no description available

we can't look behind/through/under a room part by default

Since room parts are generally things like walls and floors that enclose the entire room, they're typically visually large, and tend to have fairly large-scale details (such as doors and windows). So, by default we set the sightSize to 'large' so that the details are visible at a distance.

no description available



as with decorations, downgrade the likelihood for Examine, as the standard walls, floors, etc. are pretty much background noise that are just here in case someone wants to refer to them explicitly

look in/on: show our contents

examinePartContents (listerProp)travel.t[4998]
show our contents

examineSpecialContents ( )OVERRIDDENtravel.t[5028]
show our special contents - this shows objects with special descriptions that are specifically in this room part

examineStatus ( )OVERRIDDENtravel.t[4991]
describe the status - shows the things that are in/on the part

filterResolveList (lst, action, whichObj, np, requiredNum)OVERRIDDENtravel.t[4937]
When multiple room parts show up in a resolve list, and some of the parts are local to the actor's immediate location and others aren't, keep only the local ones. This helps avoid pointless ambiguity in cases where two (or more) top-level locations are linked with a sense connector, and one or the other location has custom room part objects.

getHitFallDestination (thrownObj, path)OVERRIDDENtravel.t[5052]
Get the destination for a thrown object that hits me. Since we don't have a real location, we must ask the actor for our room part location, and then use its hit-and-fall destination.

hideFromAll (action)OVERRIDDENtravel.t[4924]
Don't include room parts in 'all'. Room parts are so ubiquitous that we never want to assume that they're involved in a command except when it is specifically so stated.

hideFromDefault (action)OVERRIDDENtravel.t[4927]
do allow use as a default, though

initializeThing ( )OVERRIDDENtravel.t[5135]
initialization - add myself to my location's roomPart list if I have an explicit location

isIn (loc)OVERRIDDENtravel.t[5074]
consider me to be in any room of which I'm a part

isObjListedInRoomPart (obj)travel.t[4882]
When we explicitly examine a RoomPart, list any object that's nominally contained in the room part, as long it doesn't have a special description for the purposes of the room part. (If it does have a special description, then examining the room part will automatically display that special desc, so we don't want to include the object in a separate list of miscellaneous contents of the room part.)

moveIntoAdd (room)travel.t[4901]
Add this room part to the given room.

Room parts don't have normal "location" properties. Instead, a room part explicitly appears in the "roomParts" list of each room that contains it. For the most part, room parts are static - they're initialized in the room definitions and never changed. However, if you need to dynamically add a room part to a room during the game, you can do so using this method.

moveOutOf (room)travel.t[4912]
Remove this room part from the given room. This can be used if it's necessary to remove the room part dynamically from a room.

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