Part II: The Standard Library
Architecture of the library • Running the code examples • A minimal story
Populating the game world • Descriptions, appearances, and synonyms • Defining new predicates • Object locations • Dynamic predicates • Hidden objects
Custom traits • Linguistic predicates and traits • Full names • Standard traits for categorizing objects
Pristine and handled objects • Plural forms • All about appearances • Pristineness of nested objects • Clothing
Rooms and map connections • Floating objects • Regions • Light and darkness • Reachability, visibility, and scope • Doors and locks • Moving the player character • Path finding
Introduction to actions • How actions are processed • Stopping and ticking • Instead of: Prevent, perform, after • Narration predicates • Diversion • Refuse and before • Group actions
Core actions • Actions that reveal information • Actions that print a message • Diverting actions • Communication • Navigation • Miscellaneous actions • Debugging actions
Timed code • Cutscenes • The intro • Keeping score • The status bar • Game over • Choice mode
Movement • Other NPC actions • Taking orders • Ask and tell • Choice-based conversation
Grammar definitions • Adding actions • Adjusting the likelihood of actions • Links and default actions • Example: Defining a new action • How the parser works • Custom grammar tokens
Pronouns • List manipulation • Object tree manipulation • Directions and numbers • Predicates for debugging • Common checks and complaints • Asking simple questions • Identical objects