Vergleichen von (<)~/Inform/5Z71/Inform7/Extensions/Graham Nelson/Standard Rules.i7x (268474 Byte) mit (>)~/Inform/6G60/Inform7/Extensions/Graham Nelson/Standard Rules.i7x (276246 Byte) 6,747c6,281 < Document ACTIONS at doc100. < Document ACTIVITIES at doc277. < Document ARSUMMARY at doc186. < Document C10BadEpisode at doc370 "22.2" "Bibliographic data". < Document C10BadFileIFID at doc365 "21.11" "Declaring files". < Document C10BadFileOwner at doc365 "21.11" "Declaring files". < Document C10BadI6Inclusion at doc430 "24.27" "The template layer". < Document C10BadICLIdentifier at doc24 "2.14" "Limits and the Settings panel". < Document C10BadTitleSentence at doc15 "2.5" "Headings". < Document C10BeforeTheLibrary at doc430 "24.27" "The template layer". < Document C10EquationBadArithmetic at doc233 "14.13" "Equations". < Document C10EquationBadTarget at doc233 "14.13" "Equations". < Document C10EquationBracketMismatch at doc233 "14.13" "Equations". < Document C10EquationDimensionPower at doc233 "14.13" "Equations". < Document C10EquationDoesntEquate at doc233 "14.13" "Equations". < Document C10EquationEquatesBadly at doc233 "14.13" "Equations". < Document C10EquationEquatesMultiply at doc233 "14.13" "Equations". < Document C10EquationIncomparable at doc233 "14.13" "Equations". < Document C10EquationInsoluble at doc233 "14.13" "Equations". < Document C10EquationLeadingZero at doc233 "14.13" "Equations". < Document C10EquationMisnamed at doc233 "14.13" "Equations". < Document C10EquationMisnumbered at doc233 "14.13" "Equations". < Document C10EquationMispunctuated at doc233 "14.13" "Equations". < Document C10EquationNonIntPower at doc233 "14.13" "Equations". < Document C10EquationOperatorUnrecognised at doc233 "14.13" "Equations". < Document C10EquationSymbolBadSub at doc233 "14.13" "Equations". < Document C10EquationSymbolEqualsKOV at doc233 "14.13" "Equations". < Document C10EquationSymbolMalformed at doc233 "14.13" "Equations". < Document C10EquationSymbolMisdeclared at doc233 "14.13" "Equations". < Document C10EquationSymbolMissing at doc233 "14.13" "Equations". < Document C10EquationSymbolNonNumeric at doc233 "14.13" "Equations". < Document C10EquationSymbolNonValue at doc233 "14.13" "Equations". < Document C10EquationSymbolSpurious at doc233 "14.13" "Equations". < Document C10EquationSymbolVague at doc233 "14.13" "Equations". < Document C10EquationSymbolWrongKOV at doc233 "14.13" "Equations". < Document C10EquationTokenUnrecognised at doc233 "14.13" "Equations". < Document C10EquationTooComplex at doc233 "14.13" "Equations". < Document C10FilenameDuplicate at doc365 "21.11" "Declaring files". < Document C10FilenameNotTextual at doc365 "21.11" "Declaring files". < Document C10FilenameUnsafe at doc365 "21.11" "Declaring files". < Document C10InequalityFailed at doc222 "14.2" "Numbers". < Document C10NoSuchPublicRelease at doc376 "22.8" "The Materials folder". < Document C10PictureDuplicate at doc359 "21.5" "Declaring and previewing the figures". < Document C10PictureNotTextual at doc359 "21.5" "Declaring and previewing the figures". < Document C10ReleaseAlong at doc375 "22.7" "The Joy of Feelies". < Document C10SoundDuplicate at doc362 "21.8" "Declaring and playing back sounds". < Document C10SoundNotTextual at doc362 "21.8" "Declaring and playing back sounds". < Document C10TableAmendmentMisfit at doc255 "15.19" "Table amendments". < Document C10TableAmendmentMismatch at doc255 "15.19" "Table amendments". < Document C10TableCoincidesWithKind at doc237 "15.1" "Laying out tables". < Document C10TableColumnAlready at doc237 "15.1" "Laying out tables". < Document C10TableColumnArticle at doc237 "15.1" "Laying out tables". < Document C10TableColumnBrackets at doc237 "15.1" "Laying out tables". < Document C10TableColumnEmptyLists at doc237 "15.1" "Laying out tables". < Document C10TableContinuationAddsRows at doc237 "15.1" "Laying out tables". < Document C10TableDefiningNothing at doc252 "15.16" "Defining things with tables". < Document C10TableDefiningObject at doc237 "15.1" "Laying out tables". < Document C10TableDefiningTheImpossible at doc252 "15.16" "Defining things with tables". < Document C10TableDescriptionEntry at doc237 "15.1" "Laying out tables". < Document C10TableEntryGeneric at doc237 "15.1" "Laying out tables". < Document C10TableIncompatibleEntry at doc237 "15.1" "Laying out tables". < Document C10TableKindlessColumn at doc237 "15.1" "Laying out tables". < Document C10TableMisnamed at doc237 "15.1" "Laying out tables". < Document C10TableNameAmbiguous at doc237 "15.1" "Laying out tables". < Document C10TableNameDuplicate at doc237 "15.1" "Laying out tables". < Document C10TableNotContinuation at doc254 "15.18" "Table continuations". < Document C10TableOfBuiltInKind at doc237 "15.1" "Laying out tables". < Document C10TableOfExistingKind at doc237 "15.1" "Laying out tables". < Document C10TableOfQuantifiedKind at doc237 "15.1" "Laying out tables". < Document C10TablePlayerEntry at doc237 "15.1" "Laying out tables". < Document C10TableRowFull at doc237 "15.1" "Laying out tables". < Document C10TableTooManyColumns at doc237 "15.1" "Laying out tables". < Document C10TableUndefined at doc237 "15.1" "Laying out tables". < Document C10TableUnknownEntry at doc237 "15.1" "Laying out tables". < Document C10TableVariableEntry at doc237 "15.1" "Laying out tables". < Document C10TableWithBlankNames at doc237 "15.1" "Laying out tables". < Document C10TableWithUnobviousColumn at doc237 "15.1" "Laying out tables". < Document C10TableWithUnobviousColumn2 at doc237 "15.1" "Laying out tables". < Document C10TableWithoutRows at doc237 "15.1" "Laying out tables". < Document C10UONotNumerical at doc22 "2.12" "Use options". < Document C10UnknownUseOption at doc22 "2.12" "Use options". < Document C10WhenDefiningUnknown at doc430 "24.27" "The template layer". < Document C11ActionAlreadyExists at doc191 "12.7" "New actions". < Document C11ActionBothValues at doc191 "12.7" "New actions". < Document C11ActionClauseUnknown at doc191 "12.7" "New actions". < Document C11ActionMisapplied at doc191 "12.7" "New actions". < Document C11ActionVarAnd at doc194 "12.10" "Action variables". < Document C11ActionVarOverspecific at doc194 "12.10" "Action variables". < Document C11ActionVarUnknownKOV at doc194 "12.10" "Action variables". < Document C11ActionVarValue at doc194 "12.10" "Action variables". < Document C11ActivityVarAnd at doc282 "17.6" "Activity variables". < Document C11ActivityVarOverspecific at doc282 "17.6" "Activity variables". < Document C11ActivityVarUnknownKOV at doc282 "17.6" "Activity variables". < Document C11ActivityVarValue at doc282 "17.6" "Activity variables". < Document C11ActivityVariableNameless at doc282 "17.6" "Activity variables". < Document C11BadActivityName at doc277 "17.1" "What are activities?". < Document C11BadMatchingSyntax at doc194 "12.10" "Action variables". < Document C11BadOptionalAPClause at doc194 "12.10" "Action variables". < Document C11GoingWithoutObject at doc113 "7.14" "Going by, going through, going with". < Document C11GoingWrongKind at doc113 "7.14" "Going by, going through, going with". < Document C11GrammarMismatchesAction at doc191 "12.7" "New actions". < Document C11MatchedAsTooLong at doc191 "12.7" "New actions". < Document C11MultiwordPastParticiple at doc191 "12.7" "New actions". < Document C11NamedAPWithActor at doc114 "7.15" "Kinds of action". < Document C11PTAPMakesCallings at doc150 "9.13" "The past and perfect tenses". < Document C11PTAPTooComplex at doc149 "9.12" "Actions as conditions". < Document C11PastCallings at doc150 "9.13" "The past and perfect tenses". < Document C11PastTableEntries at doc150 "9.13" "The past and perfect tenses". < Document C11PastTableLookup at doc150 "9.13" "The past and perfect tenses". < Document C11TranslatesActionAlready at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C11TranslatesNonAction at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C12APUnknown at doc100 "7.1" "Actions". < Document C12APWithBadWhen at doc111 "7.12" "In the presence of, and when". < Document C12APWithDisjunction at doc107 "7.8" "Rules applying to more than one action". < Document C12APWithImmiscible at doc107 "7.8" "Rules applying to more than one action". < Document C12APWithNoParticiple at doc100 "7.1" "Actions". < Document C12AdjacentTokens at doc166 "11.3" "Pattern matching". < Document C12AtWithoutTime at doc148 "9.11" "Future events". < Document C12BadDefaultOutcome at doc325 "18.10" "Success and failure". < Document C12BadInlineExpansion at doc417 "24.14" "Defining phrases in Inform 6". < Document C12BadInlineTag at doc417 "24.14" "Defining phrases in Inform 6". < Document C12BadOutcomeClarification at doc326 "18.11" "Named outcomes". < Document C12BadRelationCondition at doc217 "13.12" "Relations which express conditions". < Document C12BadRepeatDomain at doc173 "11.10" "Repeat running through". < Document C12BadRulePlacementNegation at doc319 "18.4" "Listing rules explicitly". < Document C12BadRulePreamble at doc318 "18.3" "New rules". < Document C12BadRulePreambleWhen at doc318 "18.3" "New rules". < Document C12BadTypeIndication at doc166 "11.3" "Pattern matching". < Document C12BadWhenWhile at doc280 "17.4" "While clauses". < Document C12BareTo at doc165 "11.2" "The phrasebook". < Document C12BeginWithoutEnd at doc170 "11.7" "Begin and end". < Document C12BlockNestingTooDeep at doc170 "11.7" "Begin and end". < Document C12CalledThe at doc132 "8.14" "Calling names". < Document C12CalledWithDash at doc132 "8.14" "Calling names". < Document C12ComplicatedSayStructure at doc74 "5.6" "Text with random alternatives". < Document C12ComplicatedSayStructure2 at doc74 "5.6" "Text with random alternatives". < Document C12ComplicatedSayStructure3 at doc74 "5.6" "Text with random alternatives". < Document C12ComplicatedSayStructure4 at doc74 "5.6" "Text with random alternatives". < Document C12ComplicatedSayStructure5 at doc74 "5.6" "Text with random alternatives". < Document C12DefaultNamedOutcomeTwice at doc326 "18.11" "Named outcomes". < Document C12DefaultOutcomeAlready at doc326 "18.11" "Named outcomes". < Document C12DefaultOutcomeTwice at doc325 "18.10" "Success and failure". < Document C12DefinitionBadCondition at doc86 "6.4" "Defining new adjectives". < Document C12DefinitionWithoutCondition at doc86 "6.4" "Defining new adjectives". < Document C12DuplicateOutcome at doc326 "18.11" "Named outcomes". < Document C12DuplicateRuleName at doc196 "12.12" "Check rules for actions by other people". < Document C12ImproperRulePlacement at doc319 "18.4" "Listing rules explicitly". < Document C12InlineRule at doc417 "24.14" "Defining phrases in Inform 6". < Document C12InlineTooLong at doc417 "24.14" "Defining phrases in Inform 6". < Document C12NoSuchRulePlacement at doc319 "18.4" "Listing rules explicitly". < Document C12NoSuchRulePlacement2 at doc319 "18.4" "Listing rules explicitly". < Document C12NoSuchRulebookPlacement at doc319 "18.4" "Listing rules explicitly". < Document C12NonActionIn at doc100 "7.1" "Actions". < Document C12NonActionInPresenceOf at doc111 "7.12" "In the presence of, and when". < Document C12NonInlineBeginEnd at doc417 "24.14" "Defining phrases in Inform 6". < Document C12NonOutcomeProperty at doc326 "18.11" "Named outcomes". < Document C12NonValueToDecide at doc180 "11.17" "Phrases to decide other things". < Document C12NotAPhraseOption at doc177 "11.14" "Phrase options". < Document C12NotTheOnlyPhraseOption at doc177 "11.14" "Phrase options". < Document C12PhraseOptionsExclusive at doc177 "11.14" "Phrase options". < Document C12PhraseTooLong at doc166 "11.3" "Pattern matching". < Document C12PlaceWithMissingRule at doc319 "18.4" "Listing rules explicitly". < Document C12RedefinedNow at doc129 "8.11" "Now...". < Document C12RedundantReturnKOV at doc180 "11.17" "Phrases to decide other things". < Document C12ReturnWrongKind at doc180 "11.17" "Phrases to decide other things". < Document C12RuleWithComma at doc196 "12.12" "Check rules for actions by other people". < Document C12RuleWithDefiniteArticle at doc318 "18.3" "New rules". < Document C12RulebookVariableAnd at doc324 "18.9" "Rulebook variables". < Document C12RulebookVariableBadKind at doc324 "18.9" "Rulebook variables". < Document C12RulebookVariableTooSpecific at doc324 "18.9" "Rulebook variables". < Document C12RulebookVariableVague at doc324 "18.9" "Rulebook variables". < Document C12RulebookWithAt at doc316 "18.1" "On rules". < Document C12RulebookWithDefinition at doc316 "18.1" "On rules". < Document C12RulebookWithTo at doc316 "18.1" "On rules". < Document C12SayEndIfWithoutIf at doc73 "5.5" "Text with variations". < Document C12SayIfNested at doc73 "5.5" "Text with variations". < Document C12SayOtherwiseWithoutIf at doc73 "5.5" "Text with variations". < Document C12SaySlashed at doc166 "11.3" "Pattern matching". < Document C12SayWithPhraseOptions at doc177 "11.14" "Phrase options". < Document C12TokenMisunderstood at doc166 "11.3" "Pattern matching". < Document C12TokenWithEmptyBrackets at doc166 "11.3" "Pattern matching". < Document C12TokenWithNestedBrackets at doc166 "11.3" "Pattern matching". < Document C12TokenWithStipulations at doc166 "11.3" "Pattern matching". < Document C12TokenWithoutCloseBracket at doc166 "11.3" "Pattern matching". < Document C12TokenWithoutOpenBracket at doc166 "11.3" "Pattern matching". < Document C12TooManyLocals at doc178 "11.15" "Let and temporary variables". < Document C12TooManyPhraseOptions at doc177 "11.14" "Phrase options". < Document C12TooManyRulebookOutcomes at doc326 "18.11" "Named outcomes". < Document C12TruthStateToDecide at doc167 "11.4" "Conditions and questions". < Document C12UnknownValueToDecide at doc180 "11.17" "Phrases to decide other things". < Document C12UnspecifiedRulebookPlacement at doc319 "18.4" "Listing rules explicitly". < Document C12WrongEndToPhrase at doc326 "18.11" "Named outcomes". < Document C13BadReferringProperty at doc270 "16.15" "Understanding things by their properties". < Document C13BadUnderstandProperty at doc270 "16.15" "Understanding things by their properties". < Document C13BadUnderstandPropertyAs at doc270 "16.15" "Understanding things by their properties". < Document C13BadWhen at doc272 "16.17" "Context: understanding when". < Document C13BizarreToken at doc256 "16.1" "Understand". < Document C13ComplexUnderstand at doc256 "16.1" "Understand". < Document C13GrammarBadRelation at doc271 "16.16" "Understanding things by their relations". < Document C13GrammarIllFounded at doc257 "16.2" "New commands for old grammar". < Document C13GrammarObjectlessRelation at doc271 "16.16" "Understanding things by their relations". < Document C13GrammarTranslatedAlready at doc427 "24.24" "Inform 6 Understand tokens". < Document C13GrammarValueRelation at doc271 "16.16" "Understanding things by their relations". < Document C13LiteralPunctuation at doc256 "16.1" "Understand". < Document C13MixedOutcome at doc268 "16.13" "New tokens". < Document C13NontextualTable at doc256 "16.1" "Understand". < Document C13NontextualUnderstand at doc256 "16.1" "Understand". < Document C13NotNewCommand at doc256 "16.1" "Understand". < Document C13NotOldCommand at doc256 "16.1" "Understand". < Document C13ObsoleteHeldTokens at doc256 "16.1" "Understand". < Document C13OldVerbUsage at doc256 "16.1" "Understand". < Document C13OverAmbitiousSlash at doc267 "16.12" "This/that". < Document C13OverComplexToken at doc256 "16.1" "Understand". < Document C13SlashedCommand at doc267 "16.12" "This/that". < Document C13TestBadRequirements at doc18 "2.8" "The TEST command". < Document C13TestCommandTooLong at doc18 "2.8" "The TEST command". < Document C13TestContainsUndo at doc18 "2.8" "The TEST command". < Document C13TestDoubleWith at doc18 "2.8" "The TEST command". < Document C13TestDuplicate at doc18 "2.8" "The TEST command". < Document C13TestMultiWord at doc18 "2.8" "The TEST command". < Document C13TextTokenRestricted at doc256 "16.1" "Understand". < Document C13TextlessMistake at doc256 "16.1" "Understand". < Document C13ThreeValuedLine at doc257 "16.2" "New commands for old grammar". < Document C13TooManyAliases at doc257 "16.2" "New commands for old grammar". < Document C13TooManyGrammarLines at doc257 "16.2" "New commands for old grammar". < Document C13TwoValuedToken at doc268 "16.13" "New tokens". < Document C13UnderstandAsActivity at doc256 "16.1" "Understand". < Document C13UnderstandAsBadValue at doc256 "16.1" "Understand". < Document C13UnderstandAsCompoundText at doc256 "16.1" "Understand". < Document C13UnderstandAsQualified at doc266 "16.11" "Understanding values". < Document C13UnderstandCommaCommand at doc256 "16.1" "Understand". < Document C13UnderstandCommandWhen at doc256 "16.1" "Understand". < Document C13UnderstandEmptyText at doc256 "16.1" "Understand". < Document C13UnderstandMismatch at doc256 "16.1" "Understand". < Document C13UnderstandPluralValue at doc266 "16.11" "Understanding values". < Document C13UnderstandVague at doc256 "16.1" "Understand". < Document C13UnknownInternalTest at doc18 "2.8" "The TEST command". < Document C13UnknownToken at doc256 "16.1" "Understand". < Document C13UnknownUnderstandProperty at doc270 "16.15" "Understanding things by their properties". < Document C13UnknownUnpermittedProperty at doc270 "16.15" "Understanding things by their properties". < Document C13UnparsableKind at doc256 "16.1" "Understand". < Document C13UseTextNotTopic at doc256 "16.1" "Understand". < Document C13UseThingNotObject at doc256 "16.1" "Understand". < Document C14NoSuchPart at doc430 "24.27" "The template layer". < Document C14NoSuchTemplate at doc430 "24.27" "The template layer". < Document C2LabelNamespaceTooLong at doc433 "24.30" "Invocation labels, counters and storage". < Document C2TranslatedToNonIdentifier at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C2TranslatedUnknownCategory at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C3BogusExtension at doc20 "2.10" "Installing extensions". < Document C3PluralIsQuoted at doc57 "4.3" "Plural assertions". < Document C3PluralOfQuoted at doc57 "4.3" "Plural assertions". < Document C3TooMuchQuotedText at doc13 "2.3" "Punctuation". < Document C3UnendingComment at doc13 "2.3" "Punctuation". < Document C3UnendingI6 at doc417 "24.14" "Defining phrases in Inform 6". < Document C3UnendingQuote at doc13 "2.3" "Punctuation". < Document C3WordTooLong at doc13 "2.3" "Punctuation". < Document C4BothBlockSyntaxes at doc170 "11.7" "Begin and end". < Document C4CanHave at doc215 "13.10" "Defining new prepositions". < Document C4EmptyIndentedBlock at doc170 "11.7" "Begin and end". < Document C4ExtBeginsAfterEndsHere at doc407 "24.4" "A simple example extension". < Document C4ExtEndsWithoutBegins at doc407 "24.4" "A simple example extension". < Document C4ExtInadequateVM at doc21 "2.11" "Including extensions". < Document C4ExtMalformedVM at doc21 "2.11" "Including extensions". < Document C4ExtMisidentified at doc21 "2.11" "Including extensions". < Document C4ExtMisidentifiedEnds at doc21 "2.11" "Including extensions". < Document C4ExtMiswordedBeginsHere at doc21 "2.11" "Including extensions". < Document C4ExtMultipleBeginsHere at doc407 "24.4" "A simple example extension". < Document C4ExtMultipleEndsHere at doc407 "24.4" "A simple example extension". < Document C4ExtNoBeginsHere at doc407 "24.4" "A simple example extension". < Document C4ExtNoEndsHere at doc407 "24.4" "A simple example extension". < Document C4ExtNoVersion at doc408 "24.5" "Version numbering". < Document C4ExtVersionMalformed at doc21 "2.11" "Including extensions". < Document C4ExtVersionTooLow at doc408 "24.5" "Version numbering". < Document C4HeadingBadVM at doc357 "21.3" "Virtual machines and story file formats". < Document C4HeadingInPlaceOfUnincluded at doc411 "24.8" "Extensions can interact with other extensions". < Document C4HeadingInPlaceOfUnknown at doc411 "24.8" "Extensions can interact with other extensions". < Document C4HeadingOverLine at doc15 "2.5" "Headings". < Document C4HeadingStopsBeforeEndOfLine at doc15 "2.5" "Headings". < Document C4IncludeExtQuoted at doc21 "2.11" "Including extensions". < Document C4IncludeExtWithoutBy at doc21 "2.11" "Including extensions". < Document C4MisalignedCase at doc171 "11.8" "Otherwise". < Document C4MisalignedIndentation at doc170 "11.7" "Begin and end". < Document C4MisalignedOtherwise at doc171 "11.8" "Otherwise". < Document C4MisarrangedOtherwise at doc171 "11.8" "Otherwise". < Document C4NegatedVerb1 at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C4NonCaseInIf at doc171 "11.8" "Otherwise". < Document C4NonPresentTense at doc150 "9.13" "The past and perfect tenses". < Document C4NotInOldSyntax at doc170 "11.7" "Begin and end". < Document C4PropertyCalledArticle at doc61 "4.7" "New value properties". < Document C4PropertyCalledPresence at doc61 "4.7" "New value properties". < Document C4PropertyNameForbidden at doc61 "4.7" "New value properties". < Document C4RunOnsInTabbedRoutine at doc170 "11.7" "Begin and end". < Document C4TooManyDirections at doc53 "3.26" "Directions". < Document C4TwoLikelihoods at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C4UnequalHeadingInPlaceOf at doc411 "24.8" "Extensions can interact with other extensions". < Document C5AdjDomainSlippery at doc86 "6.4" "Defining new adjectives". < Document C5AdjDomainSurreal at doc86 "6.4" "Defining new adjectives". < Document C5AdjDomainUnknown at doc86 "6.4" "Defining new adjectives". < Document C5ArticleAsAdjective at doc86 "6.4" "Defining new adjectives". < Document C5BadLPEquivalent at doc235 "14.15" "Multiplication of units". < Document C5BadLPNameOption at doc230 "14.10" "The parts of a number specification". < Document C5BadLPOffset at doc235 "14.15" "Multiplication of units". < Document C5BadLPPartOption at doc230 "14.10" "The parts of a number specification". < Document C5BadVariableKind1 at doc65 "4.11" "Values that vary". < Document C5BothOneAndMany at doc210 "13.5" "Making new relations". < Document C5CantCallBoth at doc210 "13.5" "Making new relations". < Document C5CantCallLeft at doc210 "13.5" "Making new relations". < Document C5CantCallRight at doc210 "13.5" "Making new relations". < Document C5DescSubordinatePast at doc150 "9.13" "The past and perfect tenses". < Document C5DuplicateUnitSpec at doc224 "14.4" "Multiple notations". < Document C5DuplicateVerbs1 at doc214 "13.9" "Defining new assertion verbs". < Document C5DuplicateVerbs2 at doc214 "13.9" "Defining new assertion verbs". < Document C5DuplicateVerbs3 at doc214 "13.9" "Defining new assertion verbs". < Document C5ElementOverflow at doc222 "14.2" "Numbers". < Document C5EvenOverflow-G at doc222 "14.2" "Numbers". < Document C5FRFUnavailable at doc210 "13.5" "Making new relations". < Document C5LPBuiltInKOV at doc223 "14.3" "Units". < Document C5LPCantScaleTwice at doc225 "14.5" "Scaling and equivalents". < Document C5LPCantScaleYet at doc225 "14.5" "Scaling and equivalents". < Document C5LPElementTooLarge at doc229 "14.9" "Notations including more than one number". < Document C5LPEnumeration at doc223 "14.3" "Units". < Document C5LPFirstOptional at doc230 "14.10" "The parts of a number specification". < Document C5LPMultipleOptional at doc230 "14.10" "The parts of a number specification". < Document C5LPNotAllNamed at doc229 "14.9" "Notations including more than one number". < Document C5LPNotKOV at doc223 "14.3" "Units". < Document C5LPTooComplicated at doc229 "14.9" "Notations including more than one number". < Document C5LPTooLittleAccuracy at doc225 "14.5" "Scaling and equivalents". < Document C5LPTooManyElements at doc229 "14.9" "Notations including more than one number". < Document C5LPWithoutElement at doc229 "14.9" "Notations including more than one number". < Document C5LiteralOverflow at doc222 "14.2" "Numbers". < Document C5MultiplyingNonKOVs at doc235 "14.15" "Multiplication of units". < Document C5NegationForbidden at doc223 "14.3" "Units". < Document C5NegationInternal at doc223 "14.3" "Units". < Document C5NoRowSelected at doc241 "15.5" "Choosing rows". < Document C5OneOrVariousWithWhen at doc210 "13.5" "Making new relations". < Document C5OneToOneMiscalled at doc210 "13.5" "Making new relations". < Document C5OverlongSay at doc69 "5.1" "Text with substitutions". < Document C5PastActionCalled at doc150 "9.13" "The past and perfect tenses". < Document C5PrepositionConjugated at doc214 "13.9" "Defining new assertion verbs". < Document C5PrepositionLong at doc214 "13.9" "Defining new assertion verbs". < Document C5PresentPluralTwice at doc214 "13.9" "Defining new assertion verbs". < Document C5RelMalformed at doc210 "13.5" "Making new relations". < Document C5RelatedKindsUnknown at doc210 "13.5" "Making new relations". < Document C5RelationExists at doc210 "13.5" "Making new relations". < Document C5TSWithComma at doc69 "5.1" "Text with substitutions". < Document C5TSWithPunctuation at doc69 "5.1" "Text with substitutions". < Document C5UnicodeAlready at doc429 "24.26" "Naming Unicode characters". < Document C5UnicodeNonLiteral at doc429 "24.26" "Naming Unicode characters". < Document C5UnicodeOutOfRange at doc429 "24.26" "Naming Unicode characters". < Document C5ValueRangeInfinite at doc210 "13.5" "Making new relations". < Document C5ValueRelationInGroups at doc210 "13.5" "Making new relations". < Document C5ValueRelationNotV2V at doc210 "13.5" "Making new relations". < Document C5VerbMalformed at doc214 "13.9" "Defining new assertion verbs". < Document C5VerbRedefinesBe at doc214 "13.9" "Defining new assertion verbs". < Document C5VerbRelationLong at doc214 "13.9" "Defining new assertion verbs". < Document C5VerbRelationUnknown at doc214 "13.9" "Defining new assertion verbs". < Document C5VerbRelationVague at doc214 "13.9" "Defining new assertion verbs". < Document C5VerbUnknownMeaning at doc214 "13.9" "Defining new assertion verbs". < Document C5VerbWithoutParts at doc214 "13.9" "Defining new assertion verbs". < Document C5ZMachineOverflow at doc222 "14.2" "Numbers". < Document C6ActionVarsPastTense at doc194 "12.10" "Action variables". < Document C6CalledInRepeat at doc172 "11.9" "Repeat". < Document C6CantAssertAdjective at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C6CantAssertNegatedEverywhere at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C6CantAssertNegatedRelations at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C6CantAssertNonKind at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C6CantAssertQuantifier at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C6CantChangeEverywhere at doc36 "3.9" "Backdrops". < Document C6CantChangeKind at doc129 "8.11" "Now...". < Document C6CantEquateValues at doc222 "14.2" "Numbers". < Document C6CantForceCalling at doc129 "8.11" "Now...". < Document C6CantForceExistence at doc129 "8.11" "Now...". < Document C6CantForceGeneralised at doc129 "8.11" "Now...". < Document C6CantForceRelation at doc129 "8.11" "Now...". < Document C6EverywhereMisapplied at doc36 "3.9" "Backdrops". < Document C6EverywhereNonBackdrop at doc36 "3.9" "Backdrops". < Document C6PastSubordinate at doc150 "9.13" "The past and perfect tenses". < Document C6RandomImpossible at doc136 "8.18" "Random choices of things". < Document C6SetStoredAction at doc204 "12.20" "Stored actions". < Document C7ActionNotSpecific at doc103 "7.4" "Try and try silently". < Document C7ActionTooSpecific at doc103 "7.4" "Try and try silently". < Document C7BadArithmetic at doc235 "14.15" "Multiplication of units". < Document C7BadConstantList at doc345 "20.2" "Constant lists". < Document C7BadNow1 at doc129 "8.11" "Now...". < Document C7BadNow2 at doc129 "8.11" "Now...". < Document C7BadNow3 at doc129 "8.11" "Now...". < Document C7BadVarKind at doc65 "4.11" "Values that vary". < Document C7BlockWithinNonblock at doc171 "11.8" "Otherwise". < Document C7CantLetEmptyList at doc345 "20.2" "Constant lists". < Document C7CantUseOutsideLoop at doc174 "11.11" "Next and break". < Document C7CantUseOutsideStructure at doc170 "11.7" "Begin and end". < Document C7CaseValueMismatch at doc171 "11.8" "Otherwise". < Document C7CaseValueNonConstant at doc171 "11.8" "Otherwise". < Document C7DimensionNotBaseKOV at doc235 "14.15" "Multiplication of units". < Document C7DimensionRedundant at doc235 "14.15" "Multiplication of units". < Document C7DimensionsInconsistent at doc235 "14.15" "Multiplication of units". < Document C7DoubleOtherwise at doc171 "11.8" "Otherwise". < Document C7EitherOrAsValue at doc60 "4.6" "New either/or properties". < Document C7EmptyKind at doc65 "4.11" "Values that vary". < Document C7EndWithoutBegin at doc170 "11.7" "Begin and end". < Document C7KindlessValue at doc65 "4.11" "Values that vary". < Document C7MidTextUnicode at doc80 "5.12" "Unicode characters". < Document C7MisplacedRulebookOutcome at doc326 "18.11" "Named outcomes". < Document C7NonDimensional at doc235 "14.15" "Multiplication of units". < Document C7NumberOfTurns at doc142 "9.5" "Every turn". < Document C7OtherwiseIfAfterOtherwise at doc171 "11.8" "Otherwise". < Document C7OtherwiseInNonIf at doc171 "11.8" "Otherwise". < Document C7OtherwiseWithoutIf at doc171 "11.8" "Otherwise". < Document C7OutOfPlay at doc92 "6.10" "Existence and there". < Document C7PossibleUnterminatedIf at doc170 "11.7" "Begin and end". < Document C7PossibleUnterminatedUnless at doc170 "11.7" "Begin and end". < Document C7PropertyOfKind at doc61 "4.7" "New value properties". < Document C7PropertyOfNonObject at doc61 "4.7" "New value properties". < Document C7PropertyOfNonProperty at doc61 "4.7" "New value properties". < Document C7PropertyOfObject at doc61 "4.7" "New value properties". < Document C7SayUnicode at doc80 "5.12" "Unicode characters". < Document C7TotalEitherOr at doc232 "14.12" "Totals". < Document C7TotalTableColumn at doc232 "14.12" "Totals". < Document C7UnitSequenceOverflow at doc235 "14.15" "Multiplication of units". < Document C7UnknownTryAction1 at doc103 "7.4" "Try and try silently". < Document C7UnknownTryAction2 at doc103 "7.4" "Try and try silently". < Document C7WrongEnd at doc170 "11.7" "Begin and end". < Document C7WrongOtherwise at doc171 "11.8" "Otherwise". < Document C7WrongOtherwise2 at doc171 "11.8" "Otherwise". < Document C7WrongOtherwise3 at doc171 "11.8" "Otherwise". < Document C7WrongThen at doc168 "11.5" "If". < Document C8AssemblyLoop at doc59 "4.5" "Assemblies and body parts". < Document C8AssemblyRegress at doc59 "4.5" "Assemblies and body parts". < Document C8BadRelation at doc220 "13.15" "Review of Chapter 13: Relations". < Document C8ComplexDeterminer at doc97 "6.15" "All, each and every". < Document C8ComplexEvery at doc59 "4.5" "Assemblies and body parts". < Document C8DescriptionsEquated at doc29 "3.2" "Rooms and the map". < Document C8EnigmaticPronoun at doc13 "2.3" "Punctuation". < Document C8EnigmaticThey at doc13 "2.3" "Punctuation". < Document C8EveryWrongSide at doc220 "13.15" "Review of Chapter 13: Relations". < Document C8ExistingRegion at doc31 "3.4" "Regions and the index map". < Document C8IfOutsidePhrase at doc168 "11.5" "If". < Document C8ImplicationCertain at doc415 "24.12" "Implications". < Document C8ImplicationValueProperty at doc415 "24.12" "Implications". < Document C8KindRelatedToValue at doc220 "13.15" "Review of Chapter 13: Relations". < Document C8NoSuchVerb at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C8NoSuchVerbComma at doc27 "2.17" "Review of Chapter 2: The Source Text". < Document C8OnlyBackdropsEverywhere at doc36 "3.9" "Backdrops". < Document C8RuleWithoutColon at doc318 "18.3" "New rules". < Document C8SameKindEquated at doc29 "3.2" "Rooms and the map". < Document C8TextWithoutSubject at doc38 "3.11" "Two descriptions of things". < Document C8TooManyDuplicates at doc58 "4.4" "Duplicates". < Document C8TwoAppearances at doc38 "3.11" "Two descriptions of things". < Document C9BadConditionOwner at doc64 "4.10" "Conditions of things". < Document C9BadKOVForRelationProperty at doc210 "13.5" "Making new relations". < Document C9BadMapCell at doc39 "3.12" "Doors". < Document C9BadObjectTranslation at doc425 "24.22" "Inform 6 objects and classes". < Document C9BadProvides at doc61 "4.7" "New value properties". < Document C9BadVisibilityWhen at doc61 "4.7" "New value properties". < Document C9BothRoomAndSupporter at doc32 "3.5" "Kinds". < Document C9BothWaysDoor at doc39 "3.12" "Doors". < Document C9CantContainAndSupport at doc32 "3.5" "Kinds". < Document C9ComparativeMisapplied at doc89 "6.7" "Comparatives". < Document C9DirectionTooLong at doc53 "3.26" "Directions". < Document C9DoorInThirdRoom at doc39 "3.12" "Doors". < Document C9DoorOverconnected at doc39 "3.12" "Doors". < Document C9DoorToNonRoom at doc39 "3.12" "Doors". < Document C9DoorUnconnected at doc39 "3.12" "Doors". < Document C9EitherOnThree at doc64 "4.10" "Conditions of things". < Document C9GradingCalled at doc89 "6.7" "Comparatives". < Document C9GradingMisphrased at doc89 "6.7" "Comparatives". < Document C9GradingNonLiteral at doc89 "6.7" "Comparatives". < Document C9GradingUnknownProperty at doc89 "6.7" "Comparatives". < Document C9GradingUnless at doc89 "6.7" "Comparatives". < Document C9GradingWrongKOV at doc89 "6.7" "Comparatives". < Document C9ImproperlyMadeDirection at doc53 "3.26" "Directions". < Document C9KindsIncompatible at doc32 "3.5" "Kinds". < Document C9MapBadRubric at doc385 "22.17" "Improving the index map". < Document C9MapDirectionClue at doc385 "22.17" "Improving the index map". < Document C9MapFromNonRoom at doc385 "22.17" "Improving the index map". < Document C9MapHintUnknown at doc385 "22.17" "Improving the index map". < Document C9MapLevelMisnamed at doc385 "22.17" "Improving the index map". < Document C9MapNonLateral at doc385 "22.17" "Improving the index map". < Document C9MapPlacement at doc385 "22.17" "Improving the index map". < Document C9MapPlacementDirection at doc385 "22.17" "Improving the index map". < Document C9MapSettingOfUnknown at doc385 "22.17" "Improving the index map". < Document C9MapSettingTooLong at doc385 "22.17" "Improving the index map". < Document C9MapSettingTypeFailed at doc385 "22.17" "Improving the index map". < Document C9MapSettingUnknown at doc385 "22.17" "Improving the index map". < Document C9MapToNonRoom at doc385 "22.17" "Improving the index map". < Document C9MapUnknownColour at doc385 "22.17" "Improving the index map". < Document C9MapUnknownOffset at doc385 "22.17" "Improving the index map". < Document C9MapUnknownOffsetBase at doc385 "22.17" "Improving the index map". < Document C9MiscellaneousEOProblem at doc60 "4.6" "New either/or properties". < Document C9MiseEnAbyme at doc32 "3.5" "Kinds". < Document C9MultiwordGrading at doc89 "6.7" "Comparatives". < Document C9NamelessDirection at doc53 "3.26" "Directions". < Document C9NoStartRoom at doc4 "1.4" "The Go! button". < Document C9NonObjectCanBe at doc60 "4.6" "New either/or properties". < Document C9NonPropertyTranslated at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C9NonQuantityTranslated at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C9PartOfRoom at doc50 "3.23" "Parts of things". < Document C9PropForBadKOV at doc220 "13.15" "Review of Chapter 13: Relations". < Document C9PropOfValueAmbiguous at doc66 "4.12" "Values can have properties too". < Document C9PropertyKindClashes at doc61 "4.7" "New value properties". < Document C9PropertyKindUnknown at doc61 "4.7" "New value properties". < Document C9PropertyKindVague at doc61 "4.7" "New value properties". < Document C9PropertyNotPermitted at doc34 "3.7" "Properties depend on kind". < Document C9PropertyTooSpecific at doc61 "4.7" "New value properties". < Document C9PropertyUninitialisable at doc61 "4.7" "New value properties". < Document C9QualifiedCanBe at doc60 "4.6" "New either/or properties". < Document C9QuantityTranslatedAlready at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C9RegionInTwoRegions at doc31 "3.4" "Regions and the index map". < Document C9RegionRelation at doc31 "3.4" "Regions and the index map". < Document C9RelationWithBadProperty at doc220 "13.15" "Review of Chapter 13: Relations". < Document C9RelationWithEitherOrProperty at doc220 "13.15" "Review of Chapter 13: Relations". < Document C9RoomInIgnoredSource at doc382 "22.14" "Republishing existing works of IF". < Document C9RoomMissingDoor at doc39 "3.12" "Doors". < Document C9RoomOrDoorAsPart at doc50 "3.23" "Parts of things". < Document C9ScenesBadCondition at doc155 "10.2" "Creating a scene". < Document C9ScenesDisallowCalled at doc155 "10.2" "Creating a scene". < Document C9ScenesNotPlay at doc155 "10.2" "Creating a scene". < Document C9ScenesOnly at doc155 "10.2" "Creating a scene". < Document C9ScenesOversetEnd at doc155 "10.2" "Creating a scene". < Document C9ScenesUnknownEnd at doc155 "10.2" "Creating a scene". < Document C9StartsOutsideRooms at doc4 "1.4" "The Go! button". < Document C9ThisIsEitherOr at doc60 "4.6" "New either/or properties". < Document C9TranslatedTwice at doc426 "24.23" "Inform 6 variables, properties, actions, and attributes". < Document C9Unassertable2 at doc217 "13.12" "Relations which express conditions". < Document C9UnspecifiedTable at doc238 "15.2" "Looking up entries". < Document C9ValueCantHaveProperties at doc66 "4.12" "Values can have properties too". < Document DESCRIPTIONS at doc83. < Document EFILES at doc364. < Document EPSMAP at doc386. < Document EQUATIONS at doc233. < Document EXTACTIVITIES at doc281. < Document EXTENSIONS at doc404. < Document FIGURES at doc358. < Document HEADINGS at doc15. < Document KINDS at doc32. < Document KINDSVALUE at doc62. < Document LCARDS at doc372. < Document LINKINGSCENES at doc158. < Document MAP at doc29. < Document MAPHINTS at doc385. < Document NAP at doc114. < Document NEWACTIONS at doc191. < Document NEWKINDS at doc55. < Document NEWRULEBOOKS at doc322. < Document OUTOFWORLD at doc199. < Document PHRASES at doc164. < Document REGIONS at doc31. < Document RELATIONS at doc208. < Document RLISTING at doc319. < Document ROOMPLAYBEGINS at doc138. < Document RULEBOOKS at doc316. < Document SCENESINTRO at doc154. < Document SOUNDS at doc361. < Document SRULES at doc405. < Document TABLES at doc237. < Document VARIABLES at doc65. < Document VERBS at doc206. < Document act_all at doc310. < Document act_amuse at doc313. < Document act_banner at doc311. < Document act_clarify at doc304. < Document act_cnlo at doc301. < Document act_con at doc285. < Document act_csl at doc297. < Document act_darkdesc at doc296. < Document act_darkname at doc295. < Document act_details at doc291. < Document act_ds at doc303. < Document act_gt at doc290. < Document act_implicitly at doc308. < Document act_lc at doc289. < Document act_lni at doc299. < Document act_nowdark at doc293. < Document act_nowlight at doc294. < Document act_obit at doc312. < Document act_pan at doc288. < Document act_parsererror at doc309. < Document act_pld at doc300. < Document act_plp at doc302. < Document act_pn at doc286. < Document act_ppn at doc287. < Document act_reading at doc307. < Document act_smn at doc306. < Document act_startvm at doc314. < Document act_toodark at doc292. < Document act_which at doc305. < Document act_wpa at doc298. < Document kind_actionname at doc100. < Document kind_activity at doc277. < Document kind_backdrop at doc36. < Document kind_description at doc176. < Document kind_device at doc41. < Document kind_direction at doc53. < Document kind_door at doc39. < Document kind_externalfile at doc365. < Document kind_figurename at doc358. < Document kind_indexedtext at doc335. < Document kind_listof at doc344. < Document kind_number at doc222. < Document kind_person at doc44. < Document kind_player's at doc48. < Document kind_region at doc31. < Document kind_room at doc29. < Document kind_rule at doc316. < Document kind_rulebook at doc316. < Document kind_scene at doc154. < Document kind_snippet at doc307. < Document kind_soundname at doc361. < Document kind_storedaction at doc204. < Document kind_tablename at doc251. < Document kind_time at doc143. < Document kind_truthstate at doc167. < Document kind_vehicle at doc43. < Document ph_abide at doc330. < Document ph_addlist at doc348. < Document ph_allow at doc200. < Document ph_awardp at doc139. < Document ph_beginact at doc283. < Document ph_bestroute at doc96. < Document ph_blankout at doc246. < Document ph_boxed at doc81. < Document ph_break at doc174. < Document ph_carryout at doc281. < Document ph_casing at doc338. < Document ph_change at doc119. < Document ph_changep at doc127. < Document ph_changev at doc123. < Document ph_changex at doc123. < Document ph_chooserow at doc241. < Document ph_consents at doc167. < Document ph_consider at doc330. < Document ph_curract at doc204. < Document ph_displayf at doc360. < Document ph_durations at doc145. < Document ph_end at doc141. < Document ph_exactm at doc339. < Document ph_extcr at doc408. < Document ph_filetables at doc366. < Document ph_follow at doc322. < Document ph_frontside at doc39. < Document ph_future at doc148. < Document ph_goingon at doc278. < Document ph_group at doc289. < Document ph_happening at doc157. < Document ph_holder at doc134. < Document ph_if at doc168. < Document ph_ignore at doc329. < Document ph_increase at doc222. < Document ph_indarkness at doc167. < Document ph_involves at doc204. < Document ph_islistedin at doc347. < Document ph_lbreak at doc75. < Document ph_let at doc178. < Document ph_list at doc177. < Document ph_listd at doc349. < Document ph_locof at doc52. < Document ph_minspart at doc147. < Document ph_mobjl at doc349. < Document ph_move at doc125. < Document ph_movebd at doc126. < Document ph_nearest at doc145. < Document ph_next at doc174. < Document ph_nextstep at doc216. < Document ph_nothing at doc165. < Document ph_now at doc129. < Document ph_numblank at doc246. < Document ph_numel at doc352. < Document ph_numof at doc83. < Document ph_numofc at doc337. < Document ph_numrows at doc238. < Document ph_omit at doc286. < Document ph_otherwise at doc171. < Document ph_outcomer at doc326. < Document ph_playsf at doc362. < Document ph_plus at doc222. < Document ph_randobj at doc136. < Document ph_random at doc135. < Document ph_readytr at doc368. < Document ph_regexp at doc340. < Document ph_remlist at doc348. < Document ph_remove at doc128. < Document ph_repeat at doc172. < Document ph_replace at doc342. < Document ph_requires at doc191. < Document ph_result at doc179. < Document ph_resultr at doc327. < Document ph_revl at doc351. < Document ph_roomdirof at doc96. < Document ph_rotl at doc351. < Document ph_runthrough at doc173. < Document ph_say at doc77. < Document ph_saya at doc70. < Document ph_sayif at doc73. < Document ph_saylv at doc346. < Document ph_sayn at doc71. < Document ph_sayoneof at doc74. < Document ph_scope at doc303. < Document ph_sort at doc247. < Document ph_sortl at doc351. < Document ph_stop at doc175. < Document ph_stopac at doc102. < Document ph_succeeds at doc325. < Document ph_surrounds at doc121. < Document ph_tabrepeat at doc242. < Document ph_testuo at doc422. < Document ph_thereis at doc243. < Document ph_timeshift at doc146. < Document ph_total at doc232. < Document ph_truncate at doc353. < Document ph_try at doc103. < Document ph_tsince at doc156. < Document ph_types at doc76. < Document ph_updatebp at doc126. < Document ph_while at doc169. < Document ph_wornot at doc167. < Document ph_writef at doc367. < Document ph_yes at doc179. < Document rules_after at doc104. < Document rules_before at doc102. < Document rules_dtpm at doc273. < Document rules_et at doc142. < Document rules_fail at doc189. < Document rules_instead at doc101. < Document rules_internal at doc332. < Document rules_per at doc188. < Document rules_proc at doc328. < Document rules_ri at doc200. < Document rules_wpb at doc138. < Document rules_wpe at doc141. < Document var_command at doc307. < Document var_location at doc65. < Document var_noun at doc109. < Document var_particular at doc285. < Document var_person_asked at doc187. < Document var_person_reaching at doc202. < Document var_prompt at doc120. < Document var_reason at doc189. < Document var_score at doc139. < Document var_sl at doc121. < Document var_time at doc143. < Document var_understood at doc264. < Document visibility at doc203. --- > Document C8ComplexDeterminer at doc100 "6.15" "All, each and every". > Document ACTIONS C22APUnknown C22APWithNoParticiple C22NonActionIn kind_actionname at doc103 "7.1" "Actions". > Document rules_instead at doc104 "7.2" "Instead rules". > Document ph_continueaction ph_stopaction rules_before at doc105 "7.3" "Before rules". > Document C16ActionNotSpecific C16ActionTooSpecific C16UnknownTryAction1 C16UnknownTryAction2 ph_try ph_trysilently at doc106 "7.4" "Try and try silently". > Document rules_after at doc107 "7.5" "After rules". > Document C22APWithDisjunction C22APWithImmiscible at doc110 "7.8" "Rules applying to more than one action". > Document var_noun at doc112 "7.10" "The noun and the second noun". > Document C22APWithBadWhen C22NonActionInPresenceOf at doc114 "7.12" "In the presence of, and when". > Document C24GoingWithoutObject C24GoingWrongKind at doc116 "7.14" "Going by, going through, going with". > Document C24NamedAPWithActor NAP at doc117 "7.15" "Kinds of action". > Document ph_say at doc12 "2.2" "Making rules". > Document ph_change_dep at doc122 "8.1" "Change of values that vary". > Document var_prompt at doc123 "8.2" "Changing the command prompt". > Document phs_surroundings var_sl at doc124 "8.3" "Changing the status line". > Document ph_changeexit ph_changenoexit at doc126 "8.5" "Change of properties with values". > Document ph_move at doc128 "8.7" "Moving things". > Document ph_movebackdrop ph_updatebackdrop at doc129 "8.8" "Moving backdrops". > Document C5TooMuchQuotedText C5UnendingComment C5UnendingQuote C5WordTooLong C8EnigmaticPronoun C8EnigmaticThey at doc13 "2.3" "Punctuation". > Document ph_changeplayer_dep at doc130 "8.9" "Moving the player". > Document ph_remove at doc131 "8.10" "Removing things from play". > Document C14CantChangeKind C14CantForceCalling C14CantForceExistence C14CantForceGeneralised C14CantForceRelation C16BadNow1 C16BadNow2 C16BadNow3 C22RedefinedNow ph_now at doc132 "8.11" "Now...". > Document ph_decrease ph_decrement ph_increase ph_increment at doc133 "8.12" "Increasing and decreasing". > Document C22CalledThe C22CalledWithDash at doc136 "8.15" "Calling names". > Document ph_firstheld ph_holder ph_nextheld at doc138 "8.17" "Looking at containment by hand". > Document ph_randombetween ph_randomchance ph_seed at doc139 "8.18" "Randomness". > Document C14RandomImpossible ph_randomdesc at doc140 "8.19" "Random choices of things". > Document ROOMPLAYBEGINS rules_wpb at doc142 "9.1" "When play begins". > Document ph_awardpoints_dep var_score at doc143 "9.2" "Awarding points". > Document ph_end ph_enddeath_dep ph_ended ph_endeddeath_dep ph_endedvictory_dep ph_endfinally ph_endfinallysaying ph_endgamesaying_dep ph_endsaying ph_endvictory_dep ph_finallyended ph_inprogress_dep ph_notended ph_notfinallyended ph_over_dep ph_resume ph_resumegame_dep rules_wpe at doc145 "9.4" "When play ends". > Document C16NumberOfTurns rules_et at doc146 "9.5" "Every turn". > Document kind_time var_time at doc147 "9.6" "The time of day". > Document phs_timewords at doc148 "9.7" "Telling the time". > Document ph_durationhours ph_durationmins at doc149 "9.8" "Approximate times, lengths of time". > Document C20BadTitleSentence C6HeadingOverLine C6HeadingStopsBeforeEndOfLine HEADINGS at doc15 "2.5" "Headings". > Document ph_itisafter_dep ph_itisbefore_dep ph_shiftafter ph_shiftbefore ph_timeafter ph_timebefore at doc150 "9.9" "Comparing and shifting times". > Document ph_hourspart ph_minspart at doc151 "9.10" "Calculating times". > Document C10AtWithoutTime C22UnusedTimedEvent TIMEDEVENTS ph_attime ph_timefromnow ph_turnsfromnow at doc152 "9.11" "Future events". > Document C24PTAPTooComplex at doc153 "9.12" "Actions as conditions". > Document C12DescSubordinatePast C12PastActionCalled C13PastSubordinate C24PTAPMakesCallings C24PastCallings C24PastTableEntries C24PastTableLookup C6NonPresentTense at doc154 "9.13" "The past and perfect tenses". > Document SCENESINTRO kind_scene at doc158 "10.1" "Introduction to scenes". > Document C19ScenesBadCondition C19ScenesDisallowCalled C19ScenesNotPlay C19ScenesOnly C19ScenesOversetEnd C19ScenesUnknownEnd at doc159 "10.2" "Creating a scene". > Document ph_scenetimesincebegan ph_scenetimesinceended ph_scenetimewhenbegan ph_scenetimewhenended at doc160 "10.3" "Using the Scene index". > Document ph_hasended ph_hashappened ph_hasnotended ph_hasnothappened at doc161 "10.4" "During scenes". > Document LINKINGSCENES at doc162 "10.5" "Linking scenes together". > Document PHRASES ph_nothing at doc168 "11.1" "What are phrases?". > Document C22BareTo at doc169 "11.2" "The phrasebook". > Document C22AdjacentTokens C22BadTypeIndication C22PhraseTooLong C22SaySlashed C22TokenMisunderstood C22TokenWithEmptyBrackets C22TokenWithNestedBrackets C22TokenWithStipulations C22TokenWithoutCloseBracket C22TokenWithoutOpenBracket at doc170 "11.3" "Pattern matching". > Document ph_showme at doc171 "11.4" "The showme phrase". > Document C22TruthStateToDecide kind_truthstate ph_consents ph_indarkness ph_whether at doc172 "11.5" "Conditions and questions". > Document C16WrongThen C8IfOutsidePhrase ph_if ph_if_dep ph_unless at doc173 "11.6" "If". > Document C16CantUseOutsideStructure C16EndWithoutBegin C16PossibleUnterminatedIf C16PossibleUnterminatedUnless C16WrongEnd C22BeginWithoutEnd C22BlockNestingTooDeep C6BothBlockSyntaxes C6EmptyIndentedBlock C6MisalignedIndentation C6NotInOldSyntax C6RunOnsInTabbedRoutine at doc174 "11.7" "Begin and end". > Document C16BlockWithinNonblock C16CaseValueMismatch C16CaseValueNonConstant C16DoubleOtherwise C16OtherwiseIfAfterOtherwise C16OtherwiseInNonIf C16OtherwiseWithoutIf C16WrongOtherwise C16WrongOtherwise2 C16WrongOtherwise3 C6MisalignedCase C6MisalignedOtherwise C6MisarrangedOtherwise C6NonCaseInIf ph_otherwise ph_switch at doc175 "11.8" "Otherwise". > Document ph_while ph_while_dep at doc176 "11.9" "While". > Document C14CalledInRepeat ph_repeat at doc177 "11.10" "Repeat". > Document C22BadRepeatDomain ph_runthrough at doc178 "11.11" "Repeat running through". > Document C16CantUseOutsideLoop ph_break ph_next at doc179 "11.12" "Next and break". > Document C25TestBadRequirements C25TestCommandTooLong C25TestContainsUndo C25TestDoubleWith C25TestDuplicate C25TestMultiWord C25UnknownInternalTest at doc18 "2.8" "The TEST command". > Document ph_stop at doc180 "11.13" "Stop". > Document C22NotAPhraseOption C22NotTheOnlyPhraseOption C22PhraseOptionsExclusive C22SayWithPhraseOptions C22TooManyPhraseOptions ph_listcontents at doc181 "11.14" "Phrase options". > Document C22TooManyLocals ph_let ph_letdefault at doc182 "11.15" "Let and temporary variables". > Document ph_no ph_yes at doc183 "11.16" "New conditions, new adjectives". > Document C22RedundantReturnKOV C22ReturnWrongKind C22UnknownValueToDecide ph_decideon at doc184 "11.17" "Phrases to decide other things". > Document ph_enumafter ph_enumbefore ph_enumfirst ph_enumlast at doc185 "11.18" "The value after and the value before". > Document ARSUMMARY at doc188 "12.2" "How actions are processed". > Document var_person_asked at doc189 "12.3" "Giving instructions to other people". > Document rules_per at doc190 "12.4" "Persuasion". > Document rules_fail var_reason at doc191 "12.5" "Unsuccessful attempts". > Document C24ActionAlreadyExists C24ActionBothValues C24ActionClauseUnknown C24ActionMisapplied C24GrammarMismatchesAction C24MatchedAsTooLong C24MultiwordPastParticiple NEWACTIONS ph_requirescarried ph_requirescarried2 ph_requireslight ph_requirestouch ph_requirestouch2 at doc193 "12.7" "New actions". > Document C14ActionVarsPastTense C24ActionVarAnd C24ActionVarOverspecific C24ActionVarUnknownKOV C24ActionVarValue C24BadMatchingSyntax C24BadOptionalAPClause at doc196 "12.10" "Action variables". > Document C22DuplicateRuleName C22RuleWithComma at doc198 "12.12" "Check rules for actions by other people". > Document C5BogusExtension at doc20 "2.10" "Installing extensions". > Document OUTOFWORLD at doc201 "12.15" "Out of world actions". > Document rules_ri at doc202 "12.16" "Reaching inside and reaching outside rules". > Document var_person_reaching at doc204 "12.18" "Changing reachability". > Document visibility at doc205 "12.19" "Changing visibility". > Document C24SetStoredAction kind_storedaction ph_actionof ph_actionpart ph_actorpart ph_currentaction ph_involves ph_nounpart ph_secondpart ph_trystored ph_trystoredsilently at doc206 "12.20" "Stored actions". > Document VERBS at doc208 "13.1" "Sentence verbs". > Document C7ExtInadequateVM C7ExtMalformedVM C7ExtMisidentified C7ExtMisidentifiedEnds C7ExtMiswordedBeginsHere C7ExtVersionMalformed C7IncludeExtQuoted C7IncludeExtWithoutBy at doc21 "2.11" "Including extensions". > Document RELATIONS at doc210 "13.3" "What are relations?". > Document C17BadKOVForRelationProperty C9BothOneAndMany C9CantCallBoth C9CantCallLeft C9CantCallRight C9FRFUnavailable C9OneOrVariousWithWhen C9OneToOneMiscalled C9RelMalformed C9RelatedKindsUnknown C9RelationExists at doc212 "13.5" "Making new relations". > Document ph_showrelation at doc214 "13.7" "Relations in groups". > Document C9DuplicateVerbs1 C9DuplicateVerbs2 C9DuplicateVerbs3 C9PrepositionConjugated C9PrepositionLong C9PresentPluralTwice C9VerbMalformed C9VerbRedefinesBe C9VerbRelationUnknown C9VerbRelationVague C9VerbUnknownMeaning C9VerbWithoutParts at doc216 "13.9" "Defining new assertion verbs". > Document C6CanHave at doc217 "13.10" "Defining new prepositions". > Document ph_nextstep ph_numbersteps at doc218 "13.11" "Indirect relations". > Document C22BadRelationCondition C9Unassertable2 at doc219 "13.12" "Relations which express conditions". > Document C21UONotNumerical C21UnknownUseOption at doc22 "2.12" "Use options". > Document ph_ifleft ph_ifright ph_leftdomain ph_leftlookup ph_leftlookuplist ph_rightdomain ph_rightlookup ph_rightlookuplist at doc220 "13.13" "Relations involving values". > Document ph_letrelation at doc222 "13.15" "Temporary relations". > Document C17RelationWithBadProperty C17RelationWithEitherOrProperty C8BadRelation C8EveryWrongSide C8KindRelatedToValue C8PropForBadKOV at doc224 "13.17" "Review of Chapter 13: Relations". > Document C10ElementOverflow C10EvenOverflow-G C10ZMachineOverflow C12LiteralOverflow C14CantEquateValues C14InequalityFailed kind_number ph_cuberoot ph_divide ph_minus ph_nearest ph_plus ph_remainder ph_squareroot ph_times at doc226 "14.2" "Numbers". > Document C10LPBuiltInKOV C10LPEnumeration C10LPNotKOV C10NegationForbidden C10NegationInternal at doc227 "14.3" "Units". > Document C10DuplicateUnitSpec at doc228 "14.4" "Multiple notations". > Document C10LPCantScaleTwice C10LPCantScaleYet C10LPTooLittleAccuracy at doc229 "14.5" "Scaling and equivalents". > Document C10LPElementTooLarge C10LPNotAllNamed C10LPTooComplicated C10LPTooManyElements C10LPWithoutElement at doc233 "14.9" "Notations including more than one number". > Document C10BadLPNameOption C10BadLPPartOption C10LPFirstOptional C10LPMultipleOptional at doc234 "14.10" "The parts of a number specification". > Document C16TotalEitherOr C16TotalTableColumn ph_total at doc236 "14.12" "Totals". > Document C21EquationBadArithmetic C21EquationBadTarget C21EquationDimensionPower C21EquationDoesntEquate C21EquationEquatesBadly C21EquationEquatesMultiply C21EquationIncomparable C21EquationInsoluble C21EquationLeadingZero C21EquationMisnamed C21EquationMisnumbered C21EquationMispunctuated C21EquationNonIntPower C21EquationOperatorUnrecognised C21EquationSymbolBadSub C21EquationSymbolEqualsKOV C21EquationSymbolMalformed C21EquationSymbolMisdeclared C21EquationSymbolMissing C21EquationSymbolNonNumeric C21EquationSymbolNonValue C21EquationSymbolSpurious C21EquationSymbolVague C21EquationSymbolWrongKOV C21EquationTokenUnrecognised C21EquationTooComplex EQUATIONS ph_letequation at doc237 "14.13" "Equations". > Document C10BadLPEquivalent C10BadLPOffset C10MultiplyingNonKOVs C15DimensionNotBaseKOV C15DimensionRedundant C15DimensionsInconsistent C15NonDimensional C15UnitSequenceOverflow C16BadArithmetic at doc239 "14.15" "Multiplication of units". > Document C21BadICLIdentifier at doc24 "2.14" "Limits and the Settings panel". > Document C20TableCoincidesWithKind C20TableColumnAlready C20TableColumnArticle C20TableColumnBrackets C20TableColumnEmptyLists C20TableContinuationAddsRows C20TableDefiningObject C20TableDescriptionEntry C20TableEntryGeneric C20TableIncompatibleEntry C20TableKindlessColumn C20TableMisnamed C20TableNameAmbiguous C20TableNameDuplicate C20TableOfBuiltInKind C20TableOfExistingKind C20TableOfQuantifiedKind C20TablePlayerEntry C20TableRowFull C20TableTooManyColumns C20TableUndefined C20TableUnknownEntry C20TableVariableEntry C20TableWithBlankNames C20TableWithUnobviousColumn C20TableWithUnobviousColumn2 C20TableWithoutRows TABLES at doc241 "15.1" "Laying out tables". > Document ph_numrows at doc242 "15.2" "Looking up entries". > Document C12NoRowSelected ph_chooserandomrow ph_chooserow ph_chooserowwith at doc245 "15.5" "Choosing rows". > Document ph_repeattable ph_repeattablecol ph_repeattablecolreverse ph_repeattablereverse at doc246 "15.6" "Repeating through tables". > Document ph_thereis ph_thereisno at doc247 "15.7" "Blank entries". > Document ph_blankout ph_blankoutcol ph_blankoutrow ph_blankouttable ph_chooseblankrow ph_deleteentry_dep ph_numblank ph_numfilled at doc250 "15.10" "Adding and removing rows". > Document ph_sortcolumn ph_sortcolumnreverse ph_sortrandom at doc251 "15.11" "Sorting". > Document kind_tablename at doc255 "15.15" "Varying which table to look at". > Document C20TableDefiningNothing C20TableDefiningTheImpossible at doc256 "15.16" "Defining things with tables". > Document C20TableNotContinuation at doc258 "15.18" "Table continuations". > Document C20TableAmendmentMisfit C20TableAmendmentMismatch at doc259 "15.19" "Table amendments". > Document C25BizarreToken C25ComplexUnderstand C25LiteralPunctuation C25NontextualTable C25NontextualUnderstand C25NotNewCommand C25NotOldCommand C25ObsoleteHeldTokens C25OldVerbUsage C25OverComplexToken C25TextTokenRestricted C25TextlessMistake C25UnderstandAsActivity C25UnderstandAsBadValue C25UnderstandAsCompoundText C25UnderstandCommaCommand C25UnderstandCommandWhen C25UnderstandEmptyText C25UnderstandMismatch C25UnderstandVague C25UnknownToken C25UnparsableKind C25UseTextNotTopic C25UseThingNotObject someone_token at doc260 "16.1" "Understand". > Document C25GrammarIllFounded C25ThreeValuedLine C25TooManyAliases C25TooManyGrammarLines at doc261 "16.2" "New commands for old grammar". > Document things_token at doc263 "16.4" "Standard tokens of grammar". > Document text_token at doc264 "16.5" "The text token". > Document var_understood at doc268 "16.9" "Understanding kinds of value". > Document C14CantAssertAdjective C14CantAssertNegatedEverywhere C14CantAssertNegatedRelations C14CantAssertNonKind C14CantAssertQuantifier C6NegatedVerb1 C6TwoLikelihoods C8NoSuchVerb C8NoSuchVerbComma at doc27 "2.17" "Review of Chapter 2: The Source Text". > Document C25UnderstandAsQualified C25UnderstandPluralValue at doc270 "16.11" "Understanding values". > Document C25OverAmbitiousSlash C25SlashedCommand at doc271 "16.12" "This/that". > Document C25MixedOutcome C25TwoValuedToken at doc272 "16.13" "New tokens". > Document C25BadReferringProperty C25BadUnderstandProperty C25BadUnderstandPropertyAs C25UnknownUnderstandProperty C25UnknownUnpermittedProperty at doc274 "16.15" "Understanding things by their properties". > Document C25GrammarBadRelation C25GrammarObjectlessRelation C25GrammarValueRelation at doc275 "16.16" "Understanding things by their relations". > Document C25BadWhen at doc276 "16.17" "Context: understanding when". > Document ph_setpronouns ph_setpronouns_dep at doc277 "16.18" "Changing the meaning of pronouns". > Document rules_dtpm at doc278 "16.19" "Does the player mean...". > Document ACTIVITIES C24BadActivityName kind_activity at doc282 "17.1" "What are activities?". > Document C22BadWhenWhile at doc285 "17.4" "While clauses". > Document EXTACTIVITIES ph_carryout ph_carryoutwith ph_continueactivity at doc286 "17.5" "New activities". > Document C24ActivityVarAnd C24ActivityVarOverspecific C24ActivityVarUnknownKOV C24ActivityVarValue C24ActivityVariableNameless at doc287 "17.6" "Activity variables". > Document ph_abandonactivity ph_abandonactivitywith ph_beginactivity ph_beginactivitywith ph_endactivity ph_endactivitywith ph_handlingactivity ph_handlingactivitywith at doc288 "17.7" "Beginning and ending activities manually". > Document C8DescriptionsEquated C8SameKindEquated MAP kind_room at doc29 "3.2" "Rooms and the map". > Document act_con var_particular at doc290 "17.9" "Deciding the concealed possessions of something". > Document act_pn ph_omit at doc291 "17.10" "Printing the name of something". > Document act_ppn at doc292 "17.11" "Printing the plural name of something". > Document act_pan at doc293 "17.12" "Printing a number of something". > Document act_lc ph_group ph_groupart ph_grouptext at doc294 "17.13" "Listing contents of something". > Document act_gt at doc295 "17.14" "Grouping together something". > Document act_details at doc296 "17.15" "Printing room description details of something". > Document act_toodark at doc297 "17.16" "Printing a refusal to act in the dark". > Document act_nowdark at doc298 "17.17" "Printing the announcement of darkness". > Document act_nowlight at doc299 "17.18" "Printing the announcement of light". > Document act_darkname at doc300 "17.19" "Printing the name of a dark room". > Document act_darkdesc at doc301 "17.20" "Printing the description of a dark room". > Document act_csl at doc302 "17.21" "Constructing the status line". > Document act_wpa at doc303 "17.22" "Writing a paragraph about". > Document act_lni at doc304 "17.23" "Listing nondescript items of something". > Document act_pld at doc305 "17.24" "Printing the locale description of something". > Document act_cnlo at doc306 "17.25" "Choosing notable locale objects for something". > Document act_plp at doc307 "17.26" "Printing a locale paragraph about". > Document act_ds ph_placecontentsinscope ph_placeinscope at doc308 "17.27" "Deciding the scope of something". > Document act_clarify at doc309 "17.28" "Clarifying the parser's choice of something". > Document C19ExistingRegion C19RegionInTwoRegions C19RegionRelation REGIONS kind_region at doc31 "3.4" "Regions and the index map". > Document act_which at doc310 "17.29" "Asking which do you mean". > Document act_smn at doc311 "17.30" "Supplying a missing noun/second noun". > Document act_reading kind_snippet ph_changecommand ph_cutsnippet ph_rejectcommand ph_replacesnippet ph_snippetdoesnotinclude ph_snippetdoesnotmatch ph_snippetincludes ph_snippetmatches var_command at doc312 "17.31" "Reading a command". > Document act_implicitly at doc313 "17.32" "Implicitly taking something". > Document act_parsererror at doc314 "17.33" "Printing a parser error". > Document act_all at doc315 "17.34" "Deciding whether all includes". > Document act_banner phs_banner at doc316 "17.35" "Printing the banner text". > Document act_obit at doc317 "17.36" "Printing the player's obituary". > Document act_amuse at doc318 "17.37" "Amusing a victorious player". > Document act_startvm at doc319 "17.38" "Starting the virtual machine". > Document C11KindsIncompatible C19BothRoomAndSupporter C19CantContainAndSupport C19MiseEnAbyme KINDS at doc32 "3.5" "Kinds". > Document C23RulebookWithAt C23RulebookWithDefinition C23RulebookWithTo RULEBOOKS kind_rule kind_rulebook at doc321 "18.1" "On rules". > Document C22BadRulePreamble C22BadRulePreambleWhen C22RuleWithDefiniteArticle C8RuleWithoutColon at doc323 "18.3" "New rules". > Document C23BadRulePlacementNegation C23ImproperRulePlacement C23NoSuchRulePlacement C23NoSuchRulePlacement2 C23NoSuchRulebookPlacement C23PlaceWithMissingRule C23UnspecifiedRulebookPlacement RLISTING at doc324 "18.4" "Listing rules explicitly". > Document NEWRULEBOOKS ph_follow at doc327 "18.7" "New rulebooks". > Document ph_followfor at doc328 "18.8" "Basis of a rulebook". > Document C23RulebookVariableAnd C23RulebookVariableBadKind C23RulebookVariableTooSpecific C23RulebookVariableVague at doc329 "18.9" "Rulebook variables". > Document C23BadDefaultOutcome C23DefaultOutcomeTwice ph_failed ph_fails ph_nodecision ph_succeeded ph_succeeds at doc330 "18.10" "Success and failure". > Document C16MisplacedRulebookOutcome C22WrongEndToPhrase C23BadOutcomeClarification C23DefaultNamedOutcomeTwice C23DefaultOutcomeAlready C23DuplicateOutcome C23NonOutcomeProperty C23TooManyRulebookOutcomes ph_rulebookoutcome at doc331 "18.11" "Named outcomes". > Document ph_producedby ph_producedbyfor ph_succeedswith at doc332 "18.12" "Rulebooks producing values". > Document ph_abide ph_abideanon ph_abidefor ph_consider ph_considerfor at doc333 "18.13" "Consider and abide". > Document rules_proc at doc334 "18.14" "Procedural rules". > Document ph_accept_dep ph_ignore_dep ph_moveafter_dep ph_movebefore_dep ph_reinstate_dep ph_reject_dep ph_restore_dep ph_substitute_dep at doc335 "18.15" "Phrases concerning rules". > Document rules_internal at doc337 "18.17" "Two rulebooks used internally". > Document C18PropertyNotPermitted at doc34 "3.7" "Properties depend on kind". > Document kind_indexedtext at doc340 "19.1" "Ordinary text and indexed text". > Document ph_charnum ph_linenum ph_numchars ph_numlines ph_numparas ph_numpwords ph_numupwords ph_numwords ph_paranum ph_pwordnum ph_upwordnum ph_wordnum at doc342 "19.3" "Characters, words, punctuated words, unpunctuated words, lines, paragraphs". > Document ph_inlower ph_inupper ph_lowercase ph_sentencecase ph_titlecase ph_uppercase at doc343 "19.4" "Upper and lower case letters". > Document ph_exactlymatches ph_matches ph_nummatches at doc344 "19.5" "Matching and exactly matching". > Document ph_exactlymatchesre ph_matchesre ph_matchtext ph_nummatchesre ph_subexpressiontext at doc345 "19.6" "Regular expression matching". > Document ph_replace ph_replacechar ph_replaceline ph_replacepara ph_replacepword ph_replacepwordin ph_replacere ph_replaceupword ph_replaceword ph_replacewordin at doc347 "19.8" "Replacements". > Document kind_listof at doc349 "20.1" "Lists and entries". > Document C16CantLetEmptyList C20BadConstantListEntry C20IncompatibleConstantListEntry C20NonconstantConstantListEntry at doc350 "20.2" "Constant lists". > Document phs_listbraced phs_listdef phs_listindef at doc351 "20.3" "Saying lists of values". > Document ph_islistedin ph_isnotlistedin ph_repeatlist at doc352 "20.4" "Testing and iterating over lists". > Document ph_addatentry ph_addlistatentry ph_addlisttolist ph_addtolist ph_rementries ph_rementry ph_remfromlist ph_remlistfromlist at doc353 "20.5" "Building lists". > Document ph_altermultipleobjectlist ph_listofdesc ph_multipleobjectlist at doc354 "20.6" "Lists of objects". > Document ph_reverselist ph_rotatelist ph_rotatelistback ph_sortlist ph_sortlistproperty ph_sortlistpropertyreverse ph_sortlistrandom ph_sortlistreverse at doc356 "20.8" "Sorting, reversing and rotating lists". > Document ph_numberentries at doc357 "20.9" "Accessing entries in a list". > Document ph_changelength ph_extend ph_truncate ph_truncatefirst ph_truncatelast at doc358 "20.10" "Lengthening or shortening a list". > Document C13EverywhereMisapplied C14CantChangeEverywhere C19EverywhereNonBackdrop kind_backdrop at doc36 "3.9" "Backdrops". > Document kind_description ph_valuematch at doc361 "21.2" "Descriptions as values". > Document ph_applied0 ph_applied1 ph_applied2 ph_applied3 ph_apply0 ph_apply1 ph_apply2 ph_apply3 at doc362 "21.3" "Phrases as values". > Document ph_appliedlist ph_filter ph_reduction at doc364 "21.5" "Map, filter and reduce". > Document C6HeadingBadVM at doc372 "22.3" "Virtual machines and story file formats". > Document FIGURES kind_figurename at doc373 "22.4" "Gathering the figures". > Document C26PictureDuplicate C26PictureNotTextual at doc374 "22.5" "Declaring and previewing the figures". > Document ph_displayfigure at doc375 "22.6" "Displaying the figures". > Document SOUNDS kind_soundname at doc376 "22.7" "Recorded sounds". > Document C26SoundDuplicate C26SoundNotTextual ph_playsf at doc377 "22.8" "Declaring and playing back sounds". > Document ph_figureid ph_soundid at doc378 "22.9" "Some technicalities about figures and sounds". > Document EFILES at doc379 "22.10" "Files". > Document C17TwoAppearances C8TextWithoutSubject at doc38 "3.11" "Two descriptions of things". > Document C26BadFileIFID C26BadFileOwner C26FilenameDuplicate C26FilenameNotTextual C26FilenameUnsafe kind_externalfile at doc380 "22.11" "Declaring files". > Document ph_fileexists ph_readtable ph_writetable at doc381 "22.12" "Writing and reading tables to external files". > Document ph_appendtext ph_saytext ph_writetext at doc382 "22.13" "Writing, reading and appending text to files". > Document ph_fileready ph_markfilenotready ph_markfileready at doc383 "22.14" "Exchanging files with other programs". > Document C20BadEpisode at doc385 "23.2" "Bibliographic data". > Document LCARDS at doc387 "23.4" "The Library Card". > Document C20NoSuchPublicRelease release_files at doc389 "23.6" "The Release button and the Materials folder". > Document C19BadMapCell C19BothWaysDoor C19DoorInThirdRoom C19DoorOverconnected C19DoorToNonRoom C19DoorUnconnected C19RoomMissingDoor kind_door ph_backside ph_directionofdoor ph_frontside ph_othersideof at doc39 "3.12" "Doors". > Document C20ReleaseAlong at doc390 "23.7" "The Joy of Feelies". > Document release_cover at doc391 "23.8" "Cover art". > Document release_booklet at doc392 "23.9" "An introductory booklet". > Document release_website at doc393 "23.10" "A website". > Document release_interpreter at doc394 "23.11" "A playable web page". > Document C19RoomInIgnoredSource at doc397 "23.14" "Republishing existing works of IF". > Document release_solution at doc398 "23.15" "Walkthrough solutions". > Document release_card release_source at doc399 "23.16" "Releasing the source text". > Document C19NoStartRoom C19StartsOutsideRooms at doc4 "1.4" "The Go! button". > Document C19MapBadRubric C19MapDirectionClue C19MapFromNonRoom C19MapHintUnknown C19MapLevelMisnamed C19MapNonLateral C19MapPlacement C19MapPlacementDirection C19MapSettingOfUnknown C19MapSettingTooLong C19MapSettingTypeFailed C19MapSettingUnknown C19MapToNonRoom C19MapUnknownColour C19MapUnknownOffset C19MapUnknownOffsetBase MAPHINTS at doc400 "23.17" "Improving the index map". > Document EPSMAP at doc401 "23.18" "Producing an EPS format map". > Document kind_device at doc41 "3.14" "Devices and descriptions". > Document EXTENSIONS at doc418 "25.1" "The status of extensions". > Document SRULES at doc419 "25.2" "The Standard Rules". > Document C6ExtBeginsAfterEndsHere C6ExtEndsWithoutBegins C6ExtMultipleBeginsHere C6ExtMultipleEndsHere C6ExtNoBeginsHere C6ExtNoEndsHere at doc421 "25.4" "A simple example extension". > Document C7ExtNoVersion C7ExtVersionTooLow phs_compextcredits phs_extcredits at doc422 "25.5" "Version numbering". > Document C6HeadingInPlaceOfUnincluded C6HeadingInPlaceOfUnknown C6UnequalHeadingInPlaceOf at doc425 "25.8" "Extensions can interact with other extensions". > Document C8ImplicationCertain C8ImplicationValueProperty at doc429 "25.12" "Implications". > Document kind_vehicle at doc43 "3.16" "Vehicles and pushable things". > Document C22BadInlineExpansion C22BadInlineTag C22InlineRule C22InlineTooLong C22NonInlineBeginEnd C5UnendingI6 at doc431 "25.14" "Defining phrases in Inform 6". > Document ph_testuseoption_dep at doc434 "25.17" "Making and testing use options". > Document C11BadObjectTranslation at doc437 "25.20" "Inform 6 objects and classes". > Document C17NonPropertyTranslated C17TranslatedTwice C20NonQuantityTranslated C20QuantityTranslatedAlready C24TranslatesActionAlready C24TranslatesNonAction C2TranslatedToNonIdentifier C2TranslatedUnknownCategory at doc438 "25.21" "Inform 6 variables, properties, actions, and attributes". > Document C25GrammarTranslatedAlready at doc439 "25.22" "Inform 6 Understand tokens". > Document kind_person at doc44 "3.17" "Men, women and animals". > Document C10UnicodeAlready C10UnicodeNonLiteral C10UnicodeOutOfRange at doc441 "25.24" "Naming Unicode characters". > Document C21BadI6Inclusion C21BeforeTheLibrary C21WhenDefiningUnknown C27NoSuchPart C27NoSuchTemplate at doc442 "25.25" "The template layer". > Document C2LabelNamespaceTooLong at doc445 "25.28" "Invocation labels, counters and storage". > Document kind_player's at doc48 "3.21" "The player's holdall". > Document C19PartOfRoom C19RoomOrDoorAsPart at doc50 "3.23" "Parts of things". > Document ph_in_dep ph_locationof at doc52 "3.25" "The location of something". > Document C19DirectionTooLong C19ImproperlyMadeDirection C19NamelessDirection C6TooManyDirections kind_direction at doc53 "3.26" "Directions". > Document NEWKINDS at doc55 "4.1" "New kinds". > Document C5PluralIsQuoted C5PluralOfQuoted at doc58 "4.4" "Plural assertions". > Document KINDSVALUE at doc59 "4.5" "Kinds of value". > Document C8ValueCantHaveProperties C8ValueCantHaveVProperties at doc60 "4.6" "Properties again". > Document C16EitherOrAsValue C8MiscellaneousEOProblem C8NonObjectCanBe C8QualifiedCanBe C8ThisIsEitherOr at doc61 "4.7" "New either/or properties". > Document C16PropertyOfKind C16PropertyOfNonProperty C17BadProvides C17PropertyUninitialisable C25BadVisibilityWhen C6PropertyCalledArticle C6PropertyCalledPresence C6PropertyNameForbidden C8PropertyKindClashes C8PropertyKindUnknown C8PropertyKindVague C8PropertyTooSpecific C8RedundantThatVaries at doc62 "4.8" "New value properties". > Document C8EitherOnThree at doc64 "4.10" "Conditions of things". > Document ph_defaultvalue at doc65 "4.11" "Default values of kinds". > Document C12BadVariableKind1 C15EmptyKind VARIABLES var_location at doc66 "4.12" "Values that vary". > Document C8TooManyDuplicates at doc67 "4.13" "Duplicates". > Document C8AssemblyLoop C8AssemblyRegress C8ComplexEvery at doc68 "4.14" "Assemblies and body parts". > Document C12TSWithComma C12TSWithPunctuation at doc72 "5.1" "Text with substitutions". > Document phs_apostrophe phs_bracket phs_closebracket phs_quotemark at doc73 "5.2" "How Inform reads quoted text". > Document phs_A phs_The phs_a phs_the phs_value at doc74 "5.3" "Text which names things". > Document phs_numwords phs_s at doc75 "5.4" "Text with numbers". > Document phs_Alistof phs_Thelistof phs_alistof phs_alistofconts phs_contents_dep phs_isalistof phs_islistof phs_isthelistof phs_listof phs_thelistof at doc76 "5.5" "Text with lists". > Document C22SayEndIfWithoutIf C22SayIfNested C22SayOtherwiseWithoutIf phs_elseif phs_elseunless phs_endif phs_endunless phs_if phs_otherwise phs_unless at doc77 "5.6" "Text with variations". > Document C22ComplicatedSayStructure C22ComplicatedSayStructure2 C22ComplicatedSayStructure3 C22ComplicatedSayStructure4 C22ComplicatedSayStructure5 phs_cycling phs_decreasing phs_firsttime phs_oneof phs_or phs_order phs_purelyrandom phs_random phs_sticky phs_stopping phs_thenpurelyrandom phs_thenrandom at doc78 "5.7" "Text with random alternatives". > Document ph_breakpending phs_clarifbreak phs_condparabreak phs_linebreak phs_nolinebreak phs_parabreak phs_runparaon phs_runparaonsls at doc79 "5.8" "Line breaks and paragraph breaks". > Document phs_bold phs_fixedspacing phs_italic phs_roman phs_varspacing at doc80 "5.9" "Text with type styles". > Document C16MidTextUnicode C16SayUnicode phs_unicode at doc82 "5.11" "Unicode characters". > Document ph_boxed at doc83 "5.12" "Displaying quotations". > Document DESCRIPTIONS ph_numberof at doc86 "6.1" "What are descriptions?". > Document C22DefinitionBadCondition C22DefinitionWithoutCondition C9AdjDomainSlippery C9AdjDomainSurreal C9AdjDomainUnknown C9ArticleAsAdjective at doc89 "6.4" "Defining new adjectives". > Document C17ComparativeMisapplied C17GradingCalled C17GradingMisphrased C17GradingNonLiteral C17GradingUnknownProperty C17GradingUnless C17GradingWrongKOV C17MultiwordGrading at doc92 "6.7" "Comparatives". > Document C16OutOfPlay at doc95 "6.10" "Existence and there". > Document ph_bestroute ph_bestroutelength ph_bestroutethrough ph_bestroutethroughlength ph_doordirof ph_roomdirof ph_roomordoor at doc99 "6.14" "Adjacent rooms and routes through the map". > > Use ineffectual translates as (- ; -). > > Use interactive fiction language elements. 753,754c287,288 < Use MAX_ZCODE_SIZE of 50000. < Use MAX_STATIC_DATA of 120000. --- > Use MAX_ZCODE_SIZE of 100000. > Use MAX_STATIC_DATA of 180000. 787a321,324 > Use no deprecated features translates as (- Constant NO_DEPRECATED_FEATURES; -). > Use VERBOSE room descriptions translates as (- Constant DEFAULT_VERBOSE_DESCRIPTIONS; -). > Use BRIEF room descriptions translates as (- Constant DEFAULT_BRIEF_DESCRIPTIONS; -). > Use SUPERBRIEF room descriptions translates as (- Constant DEFAULT_SUPERBRIEF_DESCRIPTIONS; -). 792a330,332 > The verb to relate (he relates, they relate, he related, it is related, > he is relating) implies the universal relation. > 821,826c362,371 < The verb to carry (he carries, they carry, he carried, it is carried < (adjectival), he is carrying) implies the carrying relation. < The verb to hold (he holds, they hold, he held, it is held (adjectival), < he is holding) implies the holding relation. < The verb to wear (he wears, they wear, he wore, it is worn (adjectival), < he is wearing) implies the wearing relation. --- > The verb to carry (he carries, they carry, he carried, it is carried, he is > carrying) implies the carrying relation. > The verb to hold (he holds, they hold, he held, it is held, he is holding) > implies the holding relation. > The verb to wear (he wears, they wear, he wore, it is worn, he is wearing) > implies the wearing relation. > > Definition: a thing is worn if the player is wearing it. > Definition: a thing is carried if the player is carrying it. > Definition: a thing is held if the player is holding it. 839c384 < says so (it is indirectly in one of the rooms). --- > makes it so (it is indirectly in one of the rooms). 859a404,413 > An object has a text called specification. > An object has a text called indefinite appearance text. > An object has a value called variable initial value. > > An object has a text called printed name. > An object has a text called printed plural name. > An object has a text called an indefinite article. > An object can be plural-named or singular-named. An object is usually singular-named. > An object can be proper-named or improper-named. An object is usually improper-named. > 871d426 < A room has a text called printed name. 888a442,443 > A region can be privately-named or publically-named. A region is usually publically-named. > 903,907c459,460 < A thing can be initially carried. < < A thing can be privately-named or publically-named. A thing is usually publically-named. < A thing can be plural-named or singular-named. A thing is usually singular-named. < A thing can be proper-named or improper-named. A thing is usually improper-named. --- > > A thing can be privately-named or publically-named. A thing is usually publically-named. 913,921c466,467 < A thing has a text called an indefinite article. < A thing has a text called a description. < A thing has a text called an initial appearance. < A thing has a text called printed name. < A thing has a text called a printed plural name. < < Include (- < with component_parent nothing, component_sibling nothing, component_child nothing, < -) when defining a thing. --- > A thing has a text called a description. > A thing has a text called an initial appearance. 938c484,486 < Include (- class CompassDirection, -) when defining a direction. --- > Include (- > has scenery, ! class CompassDirection, > -) when defining a direction. 969,972c517,520 < The verb to be above implies the mapping-up relation. < The verb to be mapped above implies the mapping-up relation. < The verb to be below implies the mapping-down relation. < The verb to be mapped below implies the mapping-down relation. --- > The verb to be above implies the mapping up relation. > The verb to be mapped above implies the mapping up relation. > The verb to be below implies the mapping down relation. > The verb to be mapped below implies the mapping down relation. 1073c621 < with before NULL, ! number 0, --- > with before NULL, 1082d630 < has proper, 1149d696 < The initially carried property translates into I6 as "initially_carried". 1206c752,753 < The reason the action failed -- documented at var_reason -- is a rule that varies. --- > The reason the action failed -- documented at var_reason -- is an action name > based rule producing nothing that varies. 1240d787 < The truth state understood variable translates into I6 as "parsed_number". 1258c804 < Section SR2/6 - Unindexed Standard Rules variables - Unindexed --- > Section SR2/6a - Unindexed Standard Rules variables - Unindexed 1263d809 < Figure of cover is the file of cover art. 1267a812,817 > Section SR2/6b - Unindexed Standard Rules variables - Unindexed (for figures language element only) > > Figure of cover is the file of cover art. > > Section SR2/6c - Unindexed Standard Rules variables - Unindexed > 1285a836,838 > The scene being changed is a scene that varies. [*] > The scene being changed variable translates into I6 as "parameter_object". > 1296,1301c850,857 < Every turn rules is a rulebook. [7] < < Action-processing rules is a rulebook. [8] < The action-processing rulebook has a person called the actor. < Setting action variables is a rulebook. [9] < The specific action-processing rules is a rulebook. [10] --- > When scene begins is a scene based rulebook. [7] > When scene ends is a scene based rulebook. [8] > Every turn rules is a rulebook. [9] > > Action-processing rules is a rulebook. [10] > The action-processing rulebook has a person called the actor. > Setting action variables is a rulebook. [11] > The specific action-processing rules is a rulebook. [12] 1308,1315c864,871 < The player's action awareness rules is a rulebook. [11] < < Accessibility rules is a rulebook. [12] < Reaching inside rules is an object-based rulebook. [13] < Reaching inside rules have outcomes allow access (success) and deny access (failure). < Reaching outside rules is an object-based rulebook. [14] < Reaching outside rules have outcomes allow access (success) and deny access (failure). < Visibility rules is a rulebook. [15] --- > The player's action awareness rules is a rulebook. [13] > > Accessibility rules is a rulebook. [14] > Reaching inside rules is an object-based rulebook. [15] > Reaching inside rules have outcomes allow access (success) and deny access (failure). > Reaching outside rules is an object-based rulebook. [16] > Reaching outside rules have outcomes allow access (success) and deny access (failure). > Visibility rules is a rulebook. [17] 1319,1330c875,886 < Persuasion rules is a rulebook. [16] < Persuasion rules have outcomes persuasion succeeds (success) and persuasion fails (failure). < Unsuccessful attempt by is a rulebook. [17] < < Before rules is a rulebook. [18] < Instead rules is a rulebook. [19] < Check rules is a rulebook. [20] < Carry out rules is a rulebook. [21] < After rules is a rulebook. [22] < Report rules is a rulebook. [23] < < The does the player mean rules are a rulebook. [24] --- > Persuasion rules is a rulebook. [18] > Persuasion rules have outcomes persuasion succeeds (success) and persuasion fails (failure). > Unsuccessful attempt by is a rulebook. [19] > > Before rules is a rulebook. [20] > Instead rules is a rulebook. [21] > Check rules is a rulebook. [22] > Carry out rules is a rulebook. [23] > After rules is a rulebook. [24] > Report rules is a rulebook. [25] > > The does the player mean rules are a rulebook. [26] 1363,1364c919,920 < The initialise memory rule is listed first in the startup rulebook. [2nd.] < The virtual machine startup rule is listed first in the startup rulebook. [1st.] --- > The virtual machine startup rule is listed first in the startup rulebook. [2nd.] > The initialise memory rule is listed first in the startup rulebook. [1st.] 1432,1433c988,989 < The Entire Game begins when the game is in progress. < The Entire Game ends when the game is over. --- > The Entire Game begins when the story has not ended. > The Entire Game ends when the story has ended. 1478,1479c1034,1035 < if rule succeeded, change within the player's sight to true; < otherwise change within the player's sight to false. --- > if rule succeeded, now within the player's sight is true; > otherwise now within the player's sight is false. 1494c1050 < if rule succeeded, change within the player's sight to true; --- > if rule succeeded, now within the player's sight is true; 1543a1099,1100 > Section SR2/12 - Adjectival definitions > 1553a1111,1112 > The Entire Game is recurring. > 1556,1557c1116,1117 < Definition: a table-name is empty rather than non-empty if the number of filled rows in it is 0. < Definition: a table-name is full rather than non-full if the number of blank rows in it is 0. --- > Definition: a table name is empty rather than non-empty if the number of filled rows in it is 0. > Definition: a table name is full rather than non-full if the number of blank rows in it is 0. 1570,1573c1130,1202 < Part SR3 - Activities < < Printing the name of something (documented at act_pn) is an activity. [0] < --- > Definition: a use option is active rather than inactive if I6 routine > "TestUseOption" says so (it has been requested in the source text). > > Definition: a relation is equivalence if I6 routine > "RELATION_TY_EquivalenceAdjective" makes it so (it is an equivalence > relation, that is, it relates in groups). > > Definition: a relation is symmetric if I6 routine > "RELATION_TY_SymmetricAdjective" makes it so (it is a symmetric relation, > that is, it's always true that X is related to Y if and only if Y is > related to X). > > Definition: a relation is one-to-one if I6 routine > "RELATION_TY_OToOAdjective" makes it so (it is a one-to-one relation, > that is, any given X can relate to only one Y, and vice versa). > > Definition: a relation is one-to-various if I6 routine > "RELATION_TY_OToVAdjective" makes it so (it is a one-to-various > relation, that is, any given Y has only one X such that X relates to Y). > > Definition: a relation is various-to-one if I6 routine > "RELATION_TY_VToOAdjective" makes it so (it is a various-to-one > relation, that is, any given X relates to only one Y). > > Definition: a relation is various-to-various if I6 routine > "RELATION_TY_VToVAdjective" makes it so (it is a > various-to-various relation, that is, there are no limitations on how many > X can relate to a given Y, or vice versa). > > Definition: a relation is empty rather than non-empty if I6 routine > "RELATION_TY_Empty" makes it so (it does not relate any values, that is, > R(x,y) is false for all x and y). > > Section SR2/13 - Scene descriptions > > A scene has a text called description. > When a scene (called the event) begins (this is the scene description text rule): > if the description of the event is not "", > say "[the description of the event][paragraph break]". > > Section SR2/14 - Command parser errors > > A command parser error is a kind of value. The command parser errors are > didn't understand error, > only understood as far as error, > didn't understand that number error, > can only do that to something animate error, > can't see any such thing error, > said too little error, > aren't holding that error, > can't use multiple objects error, > can only use multiple objects error, > not sure what it refers to error, > excepted something not included error, > not a verb I recognise error, > not something you need to refer to error, > can't see it at the moment error, > didn't understand the way that finished error, > not enough of those available error, > nothing to do error, > noun did not make sense in that context error, > referred to a determination of scope error, and > I beg your pardon error. > > The latest parser error is a command parser error that varies. > The latest parser error variable translates into I6 as "etype". > > Part SR3 - Activities > > Section SR3/1 - Definitions > > Printing the name of something (documented at act_pn) is an activity. [0] > 1639,1643c1268,1279 < Rule for supplying a missing noun while an actor smelling (this is the ambient odour rule): < change the noun to the location. < < Rule for supplying a missing noun while an actor listening (this is the ambient sound rule): < change the noun to the location. --- > Rule for deciding whether all includes scenery while taking (this is the > exclude scenery from take all rule): rule fails. > Rule for deciding whether all includes people while taking (this is the > exclude people from take all rule): rule fails. > Rule for deciding whether all includes fixed in place things while taking (this > is the exclude fixed in place things from take all rule): rule fails. > > Rule for supplying a missing noun while an actor smelling (this is the ambient odour rule): > now the noun is the location. > > Rule for supplying a missing noun while an actor listening (this is the ambient sound rule): > now the noun is the location. 1681a1317,1318 > Section SR3/2 - Final Question > 1684c1322 < if the only if victorious entry is false or the game ended in victory: --- > if the only if victorious entry is false or the story has ended finally: 1691c1329 < if the only if victorious entry is false or the game ended in victory: --- > if the only if victorious entry is false or the story has ended finally: 1700c1338 < if using the serial comma option, say ","; --- > if the serial comma option is active, say ","; 1707c1345 < if the only if victorious entry is false or the game ended in victory: --- > if the only if victorious entry is false or the story has ended finally: 1716c1354 < Section SR2/12 - Final question options --- > Section SR3/3 - Final question options 1724,1726c1362,1364 < -- false "undo" immediately undo rule -- < < Section SR2/13 - Locale descriptions - Unindexed --- > "UNDO the last command" false "undo" immediately undo rule -- > > Section SR3/4 - Locale descriptions - Unindexed 1742c1380 < otherwise change the locale description priority entry to N; --- > otherwise now the locale description priority entry is N; 1746,1747c1384,1385 < change the notable-object entry to O; < change the locale description priority entry to N; --- > now the notable-object entry is O; > now the locale description priority entry is N; 1787,1789c1425,1427 < begin the listing nondescript items activity; < if the number of marked for listing things is 0: < abandon the listing nondescript items activity; --- > begin the listing nondescript items activity with the domain; > if the number of marked for listing things is 0: > abandon the listing nondescript items activity with the domain; 1819c1457 < end the listing nondescript items activity; --- > end the listing nondescript items activity with the domain; 1846c1484,1485 < if the item is undescribed, set the locale priority of the item to 0; --- > if the item is undescribed: > set the locale priority of the item to 0; 1869c1508,1509 < item is not handled: --- > item is not handled and the initial appearance of the item is > not "": 1891,1894c1531,1534 < if the item is not undescribed and the item is scenery and < the item does not enclose the player: < set pronouns from the item; < if a locale-supportable thing is on the item: --- > if the item is [not undescribed and the item is] scenery and > the item does not enclose the player: > if a locale-supportable thing is on the item: > set pronouns from the item; 1913c1553 < Taking inventory is an action with past participle taken, applying to nothing. --- > Taking inventory is an action applying to nothing. 1923,1931c1563 < possessions.' is produced (provided Mr X is visible). < < The exotic 'use inventory to set pronouns rule' allows the inventory < listing to change the current meanings of IT, HIM, HER, and so on for the < player's future commands. Thus if the player is carrying a certain female < cat, say, taking inventory might print up the name 'Missee Lee', and this < would set HER to refer to Missee Lee. Some IF authors dislike this < convention: it can be abolished by writing 'The use inventory to set < pronouns rule is not listed in any rulebook.'" --- > possessions.' is produced (provided Mr X is visible)." 1943,1945d1575 < Carry out taking inventory (this is the use inventory to set pronouns rule): < set pronouns from possessions of the player. < 1951c1580 < Taking is an action with past participle taken, applying to one thing. --- > Taking is an action applying to one thing. 2022c1651 < transferred item; --- > transferred item and the current working sack; 2059,2060c1688,1691 < if the holder of the noun is a person (called the owner), stop the action with < library message taking action number 6 for the owner. --- > let the owner be the holder of the noun; > if the owner is a person: > if the owner is the actor, convert to the taking off action on the noun; > stop the action with library message taking action number 6 for the owner. 2125c1756 < Putting it on is an action with past participle put, applying to two things. --- > Putting it on is an action applying to two things. 2139a1770,1772 > issue miscellaneous library message number 26 for the noun; > silently try the actor taking the noun; > if the actor is carrying the noun, continue the action; 2203,2204c1837,1840 < stop the action with library message inserting it into action number 1 for < the noun. --- > issue miscellaneous library message number 26 for the noun; > silently try the actor taking the noun; > if the actor is carrying the noun, continue the action; > stop the action. 2253c1889 < Eating is an action with past participle eaten, applying to one carried thing. --- > Eating is an action applying to one carried thing. 2287c1923 < Going is an action with past participle gone, applying to one visible thing. --- > Going is an action applying to one visible thing. 2320a1956,1960 > Check an actor going when the actor is on a supporter (called the chaise) > (this is the stand up before going rule): > issue library message going action number 27 for the chaise; > silently try the actor exiting. > 2332,2337c1973,1976 < if the noun is up, stop the action with library message going action number 3 < for the door gone through; < if the noun is down, stop the action with library message going action number 4 < for the door gone through; < stop the action with library message going action number 5 for the door gone < through; --- > issue library message going action number 28 for the door gone through; > silently try the actor opening the door gone through; > if the door gone through is open, continue the action; > stop the action. 2456a2095,2103 > Rule for supplying a missing noun while entering (this is the find what to enter > rule): > if something enterable (called the box) is in the location, > now the noun is the box; > otherwise continue the activity. > > The find what to enter rule is listed last in the for supplying a missing noun > rulebook. > 2518c2166 < The exiting action has an object called the container exited from. --- > The exiting action has an object called the container exited from (matched as "from"). 2568c2216 < Getting off is an action with past participle got, applying to one thing. --- > Getting off is an action applying to one thing. 2640c2288 < The looking action has an action-name called the room-describing action. --- > The looking action has an action name called the room-describing action. 2730,2768c2378,2424 < For arcane reasons to do with the Inform 6 library underlying what Inform < does, these rules test to see 'if the noun goes undescribed by source < text' (rather than more simply testing whether the description property < of the noun is blank). If so, we search (i.e., look inside) a container, < and show the status (switched on or off) of a device, but otherwise < give up with a bland response. For traditional reasons, we also show < the status of a device as a second paragraph even after any description < property has been printed: this is done by the examine described devices < rule." < < Carry out examining (this is the examine undescribed containers rule): < if the noun goes undescribed by source text and < the noun is a container, < convert to the searching action on the noun. < < Carry out examining (this is the examine undescribed devices rule): < if the noun goes undescribed by source text and < the noun is a device, < stop the action with library message examining action number 3 < for the noun. < < Carry out examining (this is the examine undescribed things rule): < if the noun goes undescribed by source text, < stop the action with library message examining action number 2 < for the noun. < < Carry out examining (this is the examine directions rule): < if the noun is a direction, < stop the action with library message examining action number 5 < for the noun. < < Carry out examining (this is the standard examining rule): < say "[the description of the noun][line break]". < < Carry out examining (this is the examine described devices rule): < if the noun is a device, < stop the action with library message examining action number 3 < for the noun. < --- > Some things have no description property, or rather, have only a blank text > as one. It's possible that something interesting may be said anyway (see > the rules for directions, containers, supporters and devices), but if not, > we give up with a bland response. This is done by the examine undescribed > things rule." > > The examining action has a truth state called examine text printed. > > Carry out examining (this is the standard examining rule): > if the noun provides the property description and the description of the noun is not "": > say "[the description of the noun][line break]"; > now examine text printed is true. > > Carry out examining (this is the examine directions rule): > if the noun is a direction: > issue library message examining action number 5 for the noun; > now examine text printed is true. > > Carry out examining (this is the examine containers rule): > if the noun is a container: > if the noun is open or the noun is transparent: > if something described which is not scenery is in the noun and something which > is not the player is in the noun: > issue library message searching action number 7 for the noun; > now examine text printed is true; > otherwise if examine text printed is false: > if the player is in the noun: > make no decision; > issue library message searching action number 6 for the noun; > now examine text printed is true; > > Carry out examining (this is the examine supporters rule): > if the noun is a supporter: > if something described which is not scenery is on the noun and something which is > not the player is on the noun: > issue library message looking action number 4 for the noun; > now examine text printed is true. > > Carry out examining (this is the examine devices rule): > if the noun is a device: > issue library message examining action number 3 for the noun; > now examine text printed is true. > > Carry out examining (this is the examine undescribed things rule): > if examine text printed is false: > issue library message examining action number 2 for the noun. > 3135c2791 < Wearing is an action with past participle worn, applying to one carried thing. --- > Wearing is an action applying to one carried thing. 3171c2827 < Taking off is an action with past participle taken, applying to one carried thing. --- > Taking off is an action applying to one carried thing. 3200c2856 < Giving it to is an action with past participle given, applying to one carried thing and one thing. --- > Giving it to is an action applying to one carried thing and one thing. 3233a2889,2894 > Check an actor giving something to (this is the can't give clothes being worn rule): > if the actor is wearing the noun: > issue library message dropping action number 3 for the noun; > silently try the actor trying taking off the noun; > if the actor is wearing the noun, stop the action; > 3248,3249c2910 < Showing it to is an action with past participle shown, applying to one carried thing < and one visible thing. --- > Showing it to is an action applying to one carried thing and one visible thing. 3282c2943 < Waking is an action with past participle woken, applying to one thing. --- > Waking is an action applying to one thing. 3295,3296c2956 < Throwing it at is an action with past participle thrown, applying to one carried < thing and one visible thing. --- > Throwing it at is an action applying to one carried thing and one visible thing. 3394c3054 < Telling it about is an action with past participle told, applying to one thing and one topic. --- > Telling it about is an action applying to one thing and one topic. 3706c3366 < Saying yes is an action with past participle said and applying to nothing. --- > Saying yes is an action applying to nothing. 3720c3380 < Saying no is an action with past participle said and applying to nothing. --- > Saying no is an action applying to nothing. 3748c3408 < Waking up is an action with past participle woken and applying to nothing. --- > Waking up is an action applying to nothing. 3762c3422 < Thinking is an action past participle thought and applying to nothing. --- > Thinking is an action applying to nothing. 3818c3478 < Cutting is an action with past participle cut and applying to one thing. --- > Cutting is an action applying to one thing. 3846c3506 < Tying it to is an action with past participle tied, and applying to two things. --- > Tying it to is an action applying to two things. 3860c3520 < Drinking is an action with past participle drunk, and applying to one thing. --- > Drinking is an action applying to one thing. 3874c3534 < Saying sorry is an action with past participle said and applying to nothing. --- > Saying sorry is an action applying to nothing. 3888c3548 < Swearing obscenely is an action censored, with past participle sworn, and applying to nothing. --- > Swearing obscenely is an action censored, and applying to nothing. 3902c3562 < Swearing mildly is an action censored, with past participle sworn, and applying to nothing. --- > Swearing mildly is an action censored, and applying to nothing. 3916c3576 < Swinging is an action past participle swung and applying to one thing. --- > Swinging is an action applying to one thing. 3944c3604 < Setting it to is an action with past participle set, applying to one thing and one topic. --- > Setting it to is an action applying to one thing and one topic. 3972c3632 < Buying is an action with past participle bought, and applying to one thing. --- > Buying is an action applying to one thing. 3986c3646 < Singing is an action with past participle sung and applying to nothing. --- > Singing is an action applying to nothing. 4014c3674 < Sleeping is an action past participle slept and applying to nothing. --- > Sleeping is an action applying to nothing. 4054,4055c3714 < Verifying the story file is an action out of world, with past participle verified < and applying to nothing. --- > Verifying the story file is an action out of world applying to nothing. 4163a3822 > Understand "take [something] off" as taking off. 4168,4171c3828,3832 < Understand "get out/off/up" as exiting. < Understand "get [things]" as taking. < Understand "get in/into/on/onto [something]" as entering. < Understand "get off [something]" as getting off. --- > Understand "get in/on" as entering. > Understand "get out/off/down/up" as exiting. > Understand "get [things]" as taking. > Understand "get in/into/on/onto [something]" as entering. > Understand "get off/down [something]" as getting off. 4191a3852 > Understand "put [something preferably held] on" as wearing. 4198c3860 < Understand "drop [something preferably held] at/against/on/onto [something]" as throwing it at. --- > Understand "drop [something preferably held] at/against [something]" as throwing it at. 4220a3882 > Understand "look [something]" as examining. 4236a3899 > Understand "enter" as entering. 4285a3949 > Understand "switch [something switched on]" as switching off. 4352c4017 < Understand the commands "attach", "fix" and "fasten" as "tie". --- > Understand the commands "attach" and "fasten" as "tie". 4383d4048 < 4391,4395c4055,4065 < To say (something - number): < (- print (say__n={something}); -). < < To say (ch - unicode-character) -- running on: < (- #ifdef TARGET_ZCODE; @print_unicode {ch}; --- > To say (value - sayable value of kind K) > (documented at phs_value): > (- print ({-printing-routine:K}) {-pointer-to:value}; -). > > To say (something - number) > (documented at phs_value): > (- print (say__n={something}); -). > > To say (ch - unicode character) -- running on > (documented at phs_unicode): > (- #ifdef TARGET_ZCODE; @push self; self = {ch}; @print_unicode self; @pull self; 4399,4404c4069,4075 < (documented at ph_sayn): < (- print (number) say__n=({something}); -). < To say (something - time) in words: < (- print (PrintTimeOfDayEnglish) {something}; -). < To say s < (documented at ph_sayn): --- > (documented at phs_numwords): > (- print (number) say__n=({something}); -). > To say (something - time) in words > (documented at phs_timewords): > (- print (PrintTimeOfDayEnglish) {something}; -). > To say s > (documented at phs_s): 4409,4423c4080,4096 < To say (something - object): < (- print (name) {something}; -). < To say a (something - object) < (documented at ph_saya): < (- print (a) {something}; -). < To say an (something - object) < (documented at ph_saya): < (- print (a) {something}; -). < To say A (something - object): < (- CIndefArt({something}); -). < To say An (something - object): < (- CIndefArt({something}); -). < To say the (something - object): < (- print (the) {something}; -). < To say The (something - object): --- > To say a (something - object) > (documented at phs_a): > (- print (a) {something}; -). > To say an (something - object) > (documented at phs_a): > (- print (a) {something}; -). > To say A (something - object) > (documented at phs_A): > (- CIndefArt({something}); -). > To say An (something - object) > (documented at phs_A): > (- CIndefArt({something}); -). > To say the (something - object) > (documented at phs_the): > (- print (the) {something}; -). > To say The (something - object) > (documented at phs_The): 4429,4452c4102,4132 < (documented at ph_sayif): (- {-erase} < if (~~({c})) jump {-next-label:Say}; < -). < To say unless (c - condition): (- {-erase} < if ({c}) jump {-next-label:Say}; < -). < To say end if: (- {-erase} < .{-label:Say}; .{-label:SayX}; < -). < To say end unless: (- {-erase} < .{-label:Say}; .{-label:SayX}; < -). < To say otherwise/else if (c - condition): (- {-erase} < jump {-next-label:SayX}; .{-label:Say}; if (~~({c})) jump {-next-label:Say}; < -). < To say otherwise/else unless (c - condition): (- {-erase} < jump {-next-label:SayX}; .{-label:Say}; if ({c}) jump {-next-label:Say}; < -). < To say otherwise: (- {-erase} < jump {-next-label:SayX}; .{-label:Say}; < -). < To say else: (- {-erase} < jump {-next-label:SayX}; .{-label:Say}; < -). --- > (documented at phs_if): (- {-erase} > if (~~({c})) jump {-next-label:Say}; > -). > To say unless (c - condition) > (documented at phs_unless): (- {-erase} > if ({c}) jump {-next-label:Say}; > -). > To say otherwise/else if (c - condition) > (documented at phs_elseif): (- {-erase} > jump {-next-label:SayX}; .{-label:Say}; if (~~({c})) jump {-next-label:Say}; > -). > To say otherwise/else unless (c - condition) > (documented at phs_elseunless): (- {-erase} > jump {-next-label:SayX}; .{-label:Say}; if ({c}) jump {-next-label:Say}; > -). > To say otherwise > (documented at phs_otherwise): (- {-erase} > jump {-next-label:SayX}; .{-label:Say}; > -). > To say else > (documented at phs_otherwise): (- {-erase} > jump {-next-label:SayX}; .{-label:Say}; > -). > To say end if > (documented at phs_endif): (- {-erase} > .{-label:Say}; .{-label:SayX}; > -). > To say end unless > (documented at phs_endunless): (- {-erase} > .{-label:Say}; .{-label:SayX}; > -). 4456c4136 < To say one of -- beginning say_one_of (documented at ph_sayoneof): --- > To say one of -- beginning say_one_of (documented at phs_oneof): 4461,4476c4141,4167 < To say or -- continuing say_one_of: < (- @nop; {-segment-count}: -). < To say purely at random -- ending say_one_of with marker I7_SOO_PAR: < (- {-close-brace} -). < To say at random -- ending say_one_of with marker I7_SOO_RAN: < (- {-close-brace} -). < To say sticky random -- ending say_one_of with marker I7_SOO_STI: < (- {-close-brace} -). < To say as decreasingly likely outcomes -- ending say_one_of with marker I7_SOO_TAP: < (- {-close-brace} -). < To say in random order -- ending say_one_of with marker I7_SOO_SHU: < (- {-close-brace} -). < To say cycling -- ending say_one_of with marker I7_SOO_CYC: < (- {-close-brace} -). < To say stopping -- ending say_one_of with marker I7_SOO_STOP: < (- {-close-brace} -). --- > To say or -- continuing say_one_of (documented at phs_or): > (- @nop; {-segment-count}: -). > To say at random -- ending say_one_of with marker I7_SOO_RAN (documented at phs_random): > (- {-close-brace} -). > To say purely at random -- ending say_one_of with marker I7_SOO_PAR (documented at phs_purelyrandom): > (- {-close-brace} -). > To say then at random -- ending say_one_of with marker I7_SOO_TRAN (documented at phs_thenrandom): > (- {-close-brace} -). > To say then purely at random -- ending say_one_of with marker I7_SOO_TPAR (documented at phs_thenpurelyrandom): > (- {-close-brace} -). > To say sticky random -- ending say_one_of with marker I7_SOO_STI (documented at phs_sticky): > (- {-close-brace} -). > To say as decreasingly likely outcomes -- ending say_one_of with marker I7_SOO_TAP (documented at phs_decreasing): > (- {-close-brace} -). > To say in random order -- ending say_one_of with marker I7_SOO_SHU (documented at phs_order): > (- {-close-brace} -). > To say cycling -- ending say_one_of with marker I7_SOO_CYC (documented at phs_cycling): > (- {-close-brace} -). > To say stopping -- ending say_one_of with marker I7_SOO_STOP (documented at phs_stopping): > (- {-close-brace} -). > > To say first time -- beginning say_first_time (documented at phs_firsttime): > (- {-allocate-storage:say_first_time} > if ((I7_ST_say_first_time-->{-advance-counter:say_first_time})++ == 0) {-open-brace} > -). > To say only -- ending say_first_time (documented at phs_firsttime): > (- {-close-brace} -). 4481,4494c4172,4192 < (documented at ph_lbreak): < (- new_line; -). < To say no line break -- running on: do nothing. < To say conditional paragraph break -- running on: < (- DivideParagraphPoint(); -). < To say command clarification break -- running on: < (- CommandClarificationBreak(); -). < To say paragraph break -- running on: < (- DivideParagraphPoint(); new_line; -). < To say run paragraph on -- running on: < (- RunParagraphOn(); -). < To say run paragraph on with special look spacing -- running on: < (- SpecialLookSpacingBreak(); -). < To decide if a paragraph break is pending: --- > (documented at phs_linebreak): > (- new_line; -). > To say no line break -- running on > (documented at phs_nolinebreak): do nothing. > To say conditional paragraph break -- running on > (documented at phs_condparabreak): > (- DivideParagraphPoint(); -). > To say command clarification break -- running on > (documented at phs_clarifbreak): > (- CommandClarificationBreak(); -). > To say paragraph break -- running on > (documented at phs_parabreak): > (- DivideParagraphPoint(); new_line; -). > To say run paragraph on -- running on > (documented at phs_runparaon): > (- RunParagraphOn(); -). > To say run paragraph on with special look spacing -- running on > (documented at phs_runparaonsls): > (- SpecialLookSpacingBreak(); -). > To decide if a paragraph break is pending > (documented at ph_breakpending): 4499,4505c4197,4207 < To say bracket -- running on: < (- print "["; -). < To say close bracket -- running on: < (- print "]"; -). < To say apostrophe/' -- running on: < (- print "'"; -). < To say quotation mark -- running on: --- > To say bracket -- running on > (documented at phs_bracket): > (- print "["; -). > To say close bracket -- running on > (documented at phs_closebracket): > (- print "]"; -). > To say apostrophe/' -- running on > (documented at phs_apostrophe): > (- print "'"; -). > To say quotation mark -- running on > (documented at phs_quotemark): 4511,4523c4213,4229 < (documented at ph_types): < (- style bold; -). < To say italic type -- running on: < (- style underline; -). < To say roman type -- running on: < (- style roman; -). < To say fixed letter spacing -- running on: < (- font off; -). < To say variable letter spacing -- running on: < (- font on; -). < To display the boxed quotation (Q - boxed-quotation) < (documented at ph_boxed): < (- DisplayBoxedQuotation({Q}); -). --- > (documented at phs_bold): > (- style bold; -). > To say italic type -- running on > (documented at phs_italic): > (- style underline; -). > To say roman type -- running on > (documented at phs_roman): > (- style roman; -). > To say fixed letter spacing -- running on > (documented at phs_fixedspacing): > (- font off; -). > To say variable letter spacing -- running on > (documented at phs_varspacing): > (- font on; -). > To display the boxed quotation (Q - text) > (documented at ph_boxed): > (- DisplayBoxedQuotation({-box-quotation-text:Q}); -). 4528,4536c4234,4243 < (documented at act_banner): < (- Banner(); -). < To say the/-- list of extension credits < (documented at ph_extcr): < (- ShowExtensionVersions(); -). < To say the/-- complete list of extension credits: < (- ShowFullExtensionVersions(); -). < To say the/-- player's surroundings < (documented at ph_surrounds): --- > (documented at phs_banner): > (- Banner(); -). > To say the/-- list of extension credits > (documented at phs_extcredits): > (- ShowExtensionVersions(); -). > To say the/-- complete list of extension credits > (documented at phs_compextcredits): > (- ShowFullExtensionVersions(); -). > To say the/-- player's surroundings > (documented at phs_surroundings): 4556,4565c4263,4277 < (documented at ph_list): < (- WriteListFrom(child({O}), {phrase options}); -). < < To say contents of (O - an object): < list the contents of O, as a sentence. < < To say the contents of (O - an object): < list the contents of O, as a sentence, using the definite article. < < To say a list of (OS - description): --- > (documented at ph_listcontents): > (- WriteListFrom(child({O}), {phrase options}); -). > > To say contents of (O - an object) > (deprecated) > (documented at phs_contents_dep): > list the contents of O, as a sentence. > > To say the contents of (O - an object) > (deprecated) > (documented at phs_contents_dep): > list the contents of O, as a sentence, using the definite article. > > To say a list of (OS - description of objects) > (documented at phs_alistof): 4571c4283,4284 < To say A list of (OS - description): --- > To say A list of (OS - description of objects) > (documented at phs_Alistof): 4577c4290,4291 < To say list of (OS - description): --- > To say list of (OS - description of objects) > (documented at phs_listof): 4583c4297,4298 < To say the list of (OS - description): --- > To say the list of (OS - description of objects) > (documented at phs_thelistof): 4589c4304,4305 < To say The list of (OS - description): --- > To say The list of (OS - description of objects) > (documented at phs_Thelistof): 4595c4311,4312 < To say is-are a list of (OS - description): --- > To say is-are a list of (OS - description of objects) > (documented at phs_isalistof): 4601c4318,4319 < To say is-are list of (OS - description): --- > To say is-are list of (OS - description of objects) > (documented at phs_islistof): 4607c4325,4326 < To say is-are the list of (OS - description): --- > To say is-are the list of (OS - description of objects) > (documented at phs_isthelistof): 4613c4332,4333 < To say a list of (OS - description) including contents: --- > To say a list of (OS - description of objects) including contents > (documented at phs_alistofconts): 4623c4343 < To group (OS - description) together --- > To group (OS - description of objects) together 4629c4349,4350 < To group (OS - description) together giving articles: --- > To group (OS - description of objects) together giving articles > (documented at ph_groupart): 4634c4355,4356 < To group (OS - description) together as (T - text): --- > To group (OS - description of objects) together as (T - text) > (documented at ph_grouptext): 4646,4650c4368,4374 < (documented at ph_saylv): < (- LIST_OF_TY_Say({-pointer-to:L}, 1); -). < To say (L - a list of objects) with definite articles: < (- LIST_OF_TY_Say({-pointer-to:L}, 2); -). < To say (L - a list of objects) with indefinite articles: --- > (documented at phs_listbraced): > (- LIST_OF_TY_Say({-pointer-to:L}, 1); -). > To say (L - a list of objects) with definite articles > (documented at phs_listdef): > (- LIST_OF_TY_Say({-pointer-to:L}, 2); -). > To say (L - a list of objects) with indefinite articles > (documented at phs_listindef): 4655c4379 < To filter list recursion to (D - description): --- > To filter list recursion to (D - description of objects): 4660,4711c4384,4504 < Section SR5/2/1 - Values and data structures - Counting < < To decide which number is number of (S - description) < (documented at ph_numof): < (- {-number-of:S} -). < To decide which number is number of (S - domain-description) < (documented at ph_numof): < (- {-number-of:S} -). < < Section SR5/2/2 - Values and data structures - Arithmetic < < To decide which number is (X - number) + (Y - number) < (arithmetic operation 0) < (documented at ph_plus): (- ({X}+{Y}) -). < To decide which number is (X - number) - (Y - number) < (arithmetic operation 1): < (- ({X}-{Y}) -). < To decide which number is (X - number) * (Y - number) < (arithmetic operation 2): < (- ({X}*{Y}{-rescale-times}) -). < To decide which number is (X - number) / (Y - number) < (arithmetic operation 3): < (- (IntegerDivide({X}{-rescale-divide},{Y})) -). < To decide which number is (X - number) plus (Y - number) < (arithmetic operation 0): < (- ({X}+{Y}) -). < To decide which number is (X - number) minus (Y - number) < (arithmetic operation 1): < (- ({X}-{Y}) -). < To decide which number is (X - number) times (Y - number) < (arithmetic operation 2): < (- ({X}*{Y}{-rescale-times}) -). < To decide which number is (X - number) multiplied by (Y - number) < (arithmetic operation 2): < (- ({X}*{Y}{-rescale-times}) -). < To decide which number is (X - number) divided by (Y - number) < (arithmetic operation 3): < (- (IntegerDivide({X}{-rescale-divide},{Y})) -). < To decide which number is remainder after dividing (X - number) < by (Y - number) < (arithmetic operation 4): < (- (IntegerRemainder({X},{Y})) -). < To decide which number is (X - number) to the nearest (Y - number) < (arithmetic operation 5): < (- (RoundOffTime({X},{Y})) -). < To decide which number is the square root of (X - number) < (arithmetic operation 6): < (- (SquareRoot({X}{-rescale-root})) -). < To decide which number is the cube root of (X - number) < (arithmetic operation 7): < (- (CubeRoot({X}{-rescale-cuberoot})) -). < To decide which number is total (p - property) of (S - description) --- > Section SR5/2/1 - Values - Making conditions true > > To now (cn - now-condition) > (documented at ph_now): > (- {cn} -). > > Section SR5/2/2 - Values - Giving values temporary names > > To let (t - nonexisting variable) be (u - value) > (assignment operation) > (documented at ph_let): > (- {-creationassignment}; -). > To let (t - nonexisting variable) be (u - name of kind of value) > (assignment operation) > (documented at ph_letdefault): > (- {-creationdefault}; -). > To let (t - nonexisting variable) be (u - description of relations) > (assignment operation) > (documented at ph_letrelation): > (- {-pointer-to:t} = {-allocate-storage-for:u}; {-adapt-relation}; -). > To let (t - nonexisting variable) be given by (Q - equation name) > (documented at ph_letequation): > (- {-solve-equation}; -). > > To let (t - existing variable) be (u - value) > (assignment operation) > (documented at ph_let): > (- {-assignment}; -). > To let (t - existing variable) be given by (Q - equation name) > (documented at ph_letequation): > (- {-solve-equation}; -). > > Section SR5/2/3 - Values - Changing stored values > > To change (S - storage) to (w - value) > (deprecated) > (assignment operation) > (documented at ph_change_dep): > (- {-assignment}; -). > To change (o - object) to (p - property) > (deprecated) > (assignment operation) > (documented at ph_change_dep): > (- SetEitherOrProperty({o}, {p}, false, {-adjective-definition:p}); -). > To change (o - object) to (w - enumerated value) > (deprecated) > (assignment operation) > (documented at ph_change_dep): > (- WriteGProperty(OBJECT_TY,{o},{-convert-adjectival-constants:w},{w}); -). > > To increase (S - storage) by (w - value) > (assignment operation) > (documented at ph_increase): > (- {-increase}; -). > To decrease (S - storage) by (w - value) > (assignment operation) > (documented at ph_decrease): > (- {-decrease}; -). > To increment (S - storage) > (documented at ph_increment): > (- {-increment}; -). > To decrement (S - storage) > (documented at ph_decrement): > (- {-decrement}; -). > > Section SR5/2/4 - Values - Arithmetic > > To decide which arithmetic value is (X - arithmetic value) + (Y - arithmetic value) > (arithmetic operation 0) > (documented at ph_plus): (- ({X}+{Y}) -). > To decide which arithmetic value is (X - arithmetic value) plus (Y - arithmetic value) > (arithmetic operation 0) > (documented at ph_plus): > (- ({X}+{Y}) -). > To decide which arithmetic value is (X - arithmetic value) - (Y - arithmetic value) > (arithmetic operation 1) > (documented at ph_minus): > (- ({X}-{Y}) -). > To decide which arithmetic value is (X - arithmetic value) minus (Y - arithmetic value) > (arithmetic operation 1) > (documented at ph_minus): > (- ({X}-{Y}) -). > To decide which arithmetic value is (X - arithmetic value) * (Y - arithmetic value) > (arithmetic operation 2) > (documented at ph_times): > (- ({X}*{Y}{-rescale-times}) -). > To decide which arithmetic value is (X - arithmetic value) times (Y - arithmetic value) > (arithmetic operation 2) > (documented at ph_times): > (- ({X}*{Y}{-rescale-times}) -). > To decide which arithmetic value is (X - arithmetic value) multiplied by (Y - arithmetic value) > (arithmetic operation 2) > (documented at ph_times): > (- ({X}*{Y}{-rescale-times}) -). > To decide which arithmetic value is (X - arithmetic value) / (Y - arithmetic value) > (arithmetic operation 3) > (documented at ph_divide): > (- (IntegerDivide({X}{-rescale-divide},{Y})) -). > To decide which arithmetic value is (X - arithmetic value) divided by (Y - arithmetic value) > (arithmetic operation 3) > (documented at ph_divide): > (- (IntegerDivide({X}{-rescale-divide},{Y})) -). > To decide which arithmetic value is remainder after dividing (X - arithmetic value) > by (Y - arithmetic value) > (arithmetic operation 4) > (documented at ph_remainder): > (- (IntegerRemainder({X},{Y})) -). > To decide which arithmetic value is (X - arithmetic value) to the nearest (Y - arithmetic value) > (arithmetic operation 5) > (documented at ph_nearest): > (- (RoundOffTime({X},{Y})) -). > To decide which arithmetic value is the square root of (X - arithmetic value) > (arithmetic operation 6) > (documented at ph_squareroot): > (- (SquareRoot({X}{-rescale-root})) -). > To decide which arithmetic value is the cube root of (X - arithmetic value) > (arithmetic operation 7) > (documented at ph_cuberoot): > (- (CubeRoot({X}{-rescale-cuberoot})) -). > To decide which arithmetic value is total (p - arithmetic value valued property) > of (S - description of values) 4716,4821c4509,4579 < Section SR5/2/3 - Values and data structures - Truth states < < To decide what truth state is whether or not (C - condition) < (documented at ph_wornot): < (- ({C}) -). < < Section SR5/2/4 - Values and data structures - Randomness < < To decide which object is a/-- random (S - description) < (documented at ph_randobj): < (- {-random-of:S} -). < To decide which number is a random number from (N - number) to (M - number) < (documented at ph_random): < (- (GenerateRandomNumber({N}, {M})) -). < To decide which number is a random number between (N - number) and (M - number): < (- (GenerateRandomNumber({N}, {M})) -). < To decide whether a random chance of (N - number) in (M - number) succeeds: < (- (GenerateRandomNumber(1, {M}) <= {N}) -). < To seed the random-number generator with (N - number): < (- VM_Seed_RNG({N}); -). < To decide which value is a/-- random (S - domain-description) < (amended kind of value 1): < (- {-random-of:S} -). < < Section SR5/2/5 - Values and data structures - Changing stored values < < To now (cn - now-condition) < (documented at ph_now): < (- {cn} -). < < To let (t - nonexisting variable) be (u - word value) < (assignment operation) < (documented at ph_let): < (- {t} = {u}; -). < To let (t - nonexisting variable) be (u - pointer value) < (assignment operation): < (- {-pointer-to:t}={-allocate-storage-for:u};BlkValueCopy({-pointer-to:t},{-pointer-to:u}); -). < To let (t - nonexisting variable) be (u - kind of word value) < (assignment operation): < (- {t} = {-default-value-for:u}; -). < To let (t - nonexisting variable) be (u - kind of pointer value) < (assignment operation): < (- {-pointer-to:t} = {-allocate-storage-for:u}; -). < To let (t - existing variable) be (u - assignable-value) < (assignment operation): < (- {-assignment}; -). < < To let (t - existing variable) be given by (Q - equation-name): < (- {-solve-equation}; -). < To let (t - nonexisting variable) be given by (Q - equation-name): < (- {-solve-equation}; -). < < To change (p - property-value) to (w - assignable-value) < (assignment operation) < (documented at ph_changev): < (- {-assignment}; -). < To change (gv - global variable) to (w - assignable-value) < (assignment operation) < (documented at ph_change): < (- {-assignment}; -). < To change (tr - table-reference) to (w - assignable-value) < (assignment operation): < (- {-assignment}; -). < To change (le - list-entry) to (w - assignable-value) < (assignment operation): < (- {-assignment}; -). < To change (o - object) to (p - property) < (assignment operation) < (documented at ph_changep): < (- SetEitherOrProperty({o}, {p}, false, {-adjective-definition:p}); -). < To change (o - object) to (w - value) < (assignment operation): < (- WriteValueProperty({o},{-convert-adjectival-constants:w},{w}); -). < To change (lv - existing variable) to (w - assignable-value) < (assignment operation): < (- {-assignment}; -). < < Section SR5/2/6 - Values and data structures - Increase and decrease < < To increase/increment (p - property-value) by (w - value) < (documented at ph_increase): < (- Write{p}{-delete},{p}+{w}); -). < To increase/increment (gv - global variable) by (w - value): < (- {gv} = {gv} + {w}; -). < To increase/increment (lv - existing variable) by (w - value): < (- {lv} = {lv} + {w}; -). < To increase/increment (tr - table-reference) by (w - value): < (- {tr}{-delete},2,{w}); -). < To decrease/decrement (p - property-value) by (w - value): < (- Write{p}{-delete},{p}-{w}); -). < To decrease/decrement (gv - global variable) by (w - value): < (- {gv} = {gv} - {w}; -). < To decrease/decrement (lv - existing variable) by (w - value): < (- {lv} = {lv} - {w}; -). < To decrease/decrement (tr - table-reference) by (w - value): < (- {tr}{-delete},3,{w}); -). < < Section SR5/2/8 - Values and data structures - Tables < < To decide which number is number of rows in/from (T - table-name) < (documented at ph_numrows): < (- TableRows({T}) -). < To decide which number is number of blank rows in/from (T - table-name) < (documented at ph_numblank): < (- TableBlankRows({T}) -). < To decide which number is number of filled rows in/from (T - table-name): --- > Section SR5/2/5 - Values - Enumerations > > To decide which number is number of (S - description of values) > (documented at ph_numberof): > (- {-number-of:S} -). > To decide which K is (name of kind of enumerated value K) after (X - K) > (documented at ph_enumafter): > (- A_{-printing-routine:K}({X}) -). > To decide which K is (name of kind of enumerated value K) before (X - K) > (documented at ph_enumbefore): > (- B_{-printing-routine:K}({X}) -). > To decide which K is the first value of (name of kind of enumerated value K) > (documented at ph_enumfirst): > decide on the default value of K. > To decide which K is the last value of (name of kind of enumerated value K) > (documented at ph_enumlast): > decide on K before the default value of K. > > Section SR5/2/6 - Values - Truth states > > To decide what truth state is whether or not (C - condition) > (documented at ph_whether): > (- ({C}) -). > > Section SR5/2/7 - Values - Randomness > > To decide which K is a/-- random (S - description of values of kind K) > (documented at ph_randomdesc): > (- {-random-of:S} -). > To decide which K is a random (name of kind of arithmetic value K) between (first value - K) and (second value - K) > (documented at ph_randombetween): > (- R_{-printing-routine:K}({first value}, {second value}) -). > To decide which K is a random (name of kind of arithmetic value K) from (first value - K) to (second value - K) > (documented at ph_randombetween): > (- R_{-printing-routine:K}({first value}, {second value}) -). > To decide which K is a random (name of kind of enumerated value K) between (first value - K) and (second value - K) > (documented at ph_randombetween): > (- R_{-printing-routine:K}({first value}, {second value}) -). > To decide which K is a random (name of kind of enumerated value K) from (first value - K) to (second value - K) > (documented at ph_randombetween): > (- R_{-printing-routine:K}({first value}, {second value}) -). > To decide whether a random chance of (N - number) in (M - number) succeeds > (documented at ph_randomchance): > (- (GenerateRandomNumber(1, {M}) <= {N}) -). > To seed the random-number generator with (N - number) > (documented at ph_seed): > (- VM_Seed_RNG({N}); -). > > Section SR5/2/8 - Values - Tables > > To choose a/the/-- row (N - number) in/from (T - table name) > (documented at ph_chooserow): > (- {-require-ctvs}ct_0 = {T}; ct_1 = {N}; -). > To choose a/the/-- row with (TC - K valued table column) of (w - value of kind K) > in/from (T - table name) > (documented at ph_chooserowwith): > (- {-require-ctvs}ct_0 = {T}; ct_1 = TableRowCorr(ct_0, {TC}, {w}); -). > To choose a/the/-- blank row in/from (T - table name) > (documented at ph_chooseblankrow): > (- {-require-ctvs}ct_0 = {T}; ct_1 = TableBlankRow(ct_0); -). > To choose a/the/-- random row in/from (T - table name) > (documented at ph_chooserandomrow): > (- {-require-ctvs}ct_0 = {T}; ct_1 = TableRandomRow(ct_0); -). > To decide which number is number of rows in/from (T - table name) > (documented at ph_numrows): > (- TableRows({T}) -). > To decide which number is number of blank rows in/from (T - table name) > (documented at ph_numblank): > (- TableBlankRows({T}) -). > To decide which number is number of filled rows in/from (T - table name) > (documented at ph_numfilled): 4826,4932c4584,4691 < To decide if there is no (TR - table-reference): < (- (Exists{-do-not-dereference:TR} == false) -). < To delete (tr - table-reference) < (documented at ph_blankout): < (- {tr}{-delete},4); -). < To blank out the whole row < (documented at ph_blankout): < (- {-require-ctvs}TableBlankOutRow(ct_0, ct_1); -). < To choose a/the/-- row (N - number) in/from (T - table-name) < (documented at ph_chooserow): < (- {-require-ctvs}ct_0 = {T}; ct_1 = {N}; -). < To choose a/the/-- row with (TC - table-column) of (w - value) in/from (T - table-name): < (- {-require-ctvs}ct_0 = {T}; ct_1 = TableRowCorr(ct_0, {TC}, {w}); -). < To choose a/the/-- blank row in/from (T - table-name): < (- {-require-ctvs}ct_0 = {T}; ct_1 = TableBlankRow(ct_0); -). < To choose a/the/-- random row in/from (T - table-name): < (- {-require-ctvs}ct_0 = {T}; ct_1 = TableRandomRow(ct_0); -). < < Section SR5/2/9 - Values and data structures - Sorting tables < < To sort (T - table-name) in random order < (documented at ph_sort): < (- TableShuffle({T}); -). < To sort (T - table-name) in (TC - table-column) order: < (- TableSort({T}, {TC}, 1); -). < To sort (T - table-name) in reverse (TC - table-column) order: < (- TableSort({T}, {TC}, -1); -). < < Section SR5/2/10 - Values and data structures - Indexed text < < To decide what number is the number of characters in (txb - indexed text) < (documented at ph_numofc): < (- IT_BlobAccess({-pointer-to:txb}, CHR_BLOB) -). < To decide what indexed text is character number (N - a number) in (txb - indexed text): < (- IT_GetBlob({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, {N}, CHR_BLOB) -). < To replace character number (N - a number) in (txb - indexed text) < with (rtxb - indexed text): < (- IT_ReplaceBlob(CHR_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). < < To decide what number is the number of words in (txb - indexed text): < (- IT_BlobAccess({-pointer-to:txb}, WORD_BLOB) -). < To decide what indexed text is word number (N - a number) in (txb - indexed text): < (- IT_GetBlob({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, {N}, WORD_BLOB) -). < To replace word number (N - a number) in (txb - indexed text) < with (rtxb - indexed text): < (- IT_ReplaceBlob(WORD_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). < < To decide what number is the number of punctuated words in (txb - indexed text): < (- IT_BlobAccess({-pointer-to:txb}, PWORD_BLOB) -). < To decide what indexed text is punctuated word number (N - a number) in (txb - indexed text): < (- IT_GetBlob({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, {N}, PWORD_BLOB) -). < To replace punctuated word number (N - a number) in (txb - indexed text) < with (rtxb - indexed text): < (- IT_ReplaceBlob(PWORD_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). < < To decide what number is the number of unpunctuated words in (txb - indexed text): < (- IT_BlobAccess({-pointer-to:txb}, UWORD_BLOB) -). < To decide what indexed text is unpunctuated word number (N - a number) in (txb - indexed text): < (- IT_GetBlob({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, {N}, UWORD_BLOB) -). < To replace unpunctuated word number (N - a number) in (txb - indexed text) < with (rtxb - indexed text): < (- IT_ReplaceBlob(UWORD_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). < < To decide what number is the number of lines in (txb - indexed text): < (- IT_BlobAccess({-pointer-to:txb}, LINE_BLOB) -). < To decide what indexed text is line number (N - a number) in (txb - indexed text): < (- IT_GetBlob({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, {N}, LINE_BLOB) -). < To replace line number (N - a number) in (txb - indexed text) with (rtxb - indexed text): < (- IT_ReplaceBlob(LINE_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). < < To decide what number is the number of paragraphs in (txb - indexed text): < (- IT_BlobAccess({-pointer-to:txb}, PARA_BLOB) -). < To decide what indexed text is paragraph number (N - a number) in (txb - indexed text): < (- IT_GetBlob({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, {N}, PARA_BLOB) -). < To replace paragraph number (N - a number) in (txb - indexed text) with (rtxb - indexed text): < (- IT_ReplaceBlob(PARA_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). < < Section SR5/2/11 - Values and data structures - Matching text < < To decide if (txb - indexed text) exactly matches the text (ftxb - indexed text), < case insensitively < (documented at ph_exactm): < (- IT_Replace_RE(CHR_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options},1) -). < To decide if (txb - indexed text) matches the text (ftxb - indexed text), < case insensitively: < (- IT_Replace_RE(CHR_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options}) -). < To decide what number is number of times (txb - indexed text) matches the text < (ftxb - indexed text), case insensitively: < (- IT_Replace_RE(CHR_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},1,{phrase options}) -). < < To decide if (txb - indexed text) exactly matches the regular expression (ftxb - indexed text), < case insensitively < (documented at ph_regexp): < (- IT_Replace_RE(REGEXP_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options},1) -). < To decide if (txb - indexed text) matches the regular expression (ftxb - indexed text), < case insensitively: < (- IT_Replace_RE(REGEXP_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options}) -). < To decide what number is number of times (txb - indexed text) matches the regular expression < (ftxb - indexed text),case insensitively: < (- IT_Replace_RE(REGEXP_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},1,{phrase options}) -). < To decide what indexed text is text matching regular expression: < (- IT_RE_GetMatchVar({-pointer-to-new:INDEXED_TEXT_TY}, 0) -). < To decide what indexed text is text matching subexpression (N - a number): < (- IT_RE_GetMatchVar({-pointer-to-new:INDEXED_TEXT_TY}, {N}) -). < < Section SR5/2/12 - Values and data structures - Replacing text < --- > To decide if there is no (TR - table-reference) > (documented at ph_thereisno): > (- (Exists{-do-not-dereference:TR} == false) -). > To blank out (tr - table-reference) > (documented at ph_blankout): > (- {tr}{-backspace},4); -). > To blank out the whole row > (documented at ph_blankoutrow): > (- {-require-ctvs}TableBlankOutRow(ct_0, ct_1); -). > To blank out the whole (TC - table column) in/from (T - table name) > (documented at ph_blankoutcol): > (- TableBlankOutColumn({T}, {TC}); -). > To blank out the whole of (T - table name) > (documented at ph_blankouttable): > (- TableBlankOutAll({T}); -). > To delete (tr - table-reference) > (deprecated) > (documented at ph_deleteentry_dep): > (- {tr}{-backspace},4); -). > > Section SR5/2/9 - Values - Sorting tables > > To sort (T - table name) in random order > (documented at ph_sortrandom): > (- TableShuffle({T}); -). > To sort (T - table name) in (TC - table column) order > (documented at ph_sortcolumn): > (- TableSort({T}, {TC}, 1); -). > To sort (T - table name) in reverse (TC - table column) order > (documented at ph_sortcolumnreverse): > (- TableSort({T}, {TC}, -1); -). > > Section SR5/2/10 - Values - Indexed text > > To decide what number is the number of characters in (txb - indexed text) > (documented at ph_numchars): > (- IT_BlobAccess({-pointer-to:txb}, CHR_BLOB) -). > To decide what number is the number of words in (txb - indexed text) > (documented at ph_numwords): > (- IT_BlobAccess({-pointer-to:txb}, WORD_BLOB) -). > To decide what number is the number of punctuated words in (txb - indexed text) > (documented at ph_numpwords): > (- IT_BlobAccess({-pointer-to:txb}, PWORD_BLOB) -). > To decide what number is the number of unpunctuated words in (txb - indexed text) > (documented at ph_numupwords): > (- IT_BlobAccess({-pointer-to:txb}, UWORD_BLOB) -). > To decide what number is the number of lines in (txb - indexed text) > (documented at ph_numlines): > (- IT_BlobAccess({-pointer-to:txb}, LINE_BLOB) -). > To decide what number is the number of paragraphs in (txb - indexed text) > (documented at ph_numparas): > (- IT_BlobAccess({-pointer-to:txb}, PARA_BLOB) -). > > To decide what indexed text is character number (N - a number) in (txb - indexed text) > (documented at ph_charnum): > (- IT_GetBlob({-pointer-to-new:indexed text}, {-pointer-to:txb}, {N}, CHR_BLOB) -). > To decide what indexed text is word number (N - a number) in (txb - indexed text) > (documented at ph_wordnum): > (- IT_GetBlob({-pointer-to-new:indexed text}, {-pointer-to:txb}, {N}, WORD_BLOB) -). > To decide what indexed text is punctuated word number (N - a number) in (txb - indexed text) > (documented at ph_pwordnum): > (- IT_GetBlob({-pointer-to-new:indexed text}, {-pointer-to:txb}, {N}, PWORD_BLOB) -). > To decide what indexed text is unpunctuated word number (N - a number) in (txb - indexed text) > (documented at ph_upwordnum): > (- IT_GetBlob({-pointer-to-new:indexed text}, {-pointer-to:txb}, {N}, UWORD_BLOB) -). > To decide what indexed text is line number (N - a number) in (txb - indexed text) > (documented at ph_linenum): > (- IT_GetBlob({-pointer-to-new:indexed text}, {-pointer-to:txb}, {N}, LINE_BLOB) -). > To decide what indexed text is paragraph number (N - a number) in (txb - indexed text) > (documented at ph_paranum): > (- IT_GetBlob({-pointer-to-new:indexed text}, {-pointer-to:txb}, {N}, PARA_BLOB) -). > > Section SR5/2/11 - Values - Matching text > > To decide if (txb - indexed text) exactly matches the text (ftxb - indexed text), > case insensitively > (documented at ph_exactlymatches): > (- IT_Replace_RE(CHR_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options},1) -). > To decide if (txb - indexed text) matches the text (ftxb - indexed text), > case insensitively > (documented at ph_matches): > (- IT_Replace_RE(CHR_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options}) -). > To decide what number is number of times (txb - indexed text) matches the text > (ftxb - indexed text), case insensitively > (documented at ph_nummatches): > (- IT_Replace_RE(CHR_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},1,{phrase options}) -). > > To decide if (txb - indexed text) exactly matches the regular expression (ftxb - indexed text), > case insensitively > (documented at ph_exactlymatchesre): > (- IT_Replace_RE(REGEXP_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options},1) -). > To decide if (txb - indexed text) matches the regular expression (ftxb - indexed text), > case insensitively > (documented at ph_matchesre): > (- IT_Replace_RE(REGEXP_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},0,{phrase options}) -). > To decide what indexed text is text matching regular expression > (documented at ph_matchtext): > (- IT_RE_GetMatchVar({-pointer-to-new:indexed text}, 0) -). > To decide what indexed text is text matching subexpression (N - a number) > (documented at ph_subexpressiontext): > (- IT_RE_GetMatchVar({-pointer-to-new:indexed text}, {N}) -). > To decide what number is number of times (txb - indexed text) matches the regular expression > (ftxb - indexed text),case insensitively > (documented at ph_nummatchesre): > (- IT_Replace_RE(REGEXP_BLOB,{-pointer-to:txb},{-pointer-to:ftxb},1,{phrase options}) -). > > Section SR5/2/12 - Values - Replacing text > 4936,4939c4695,4699 < (- IT_Replace_RE(REGEXP_BLOB, {-pointer-to:txb}, {-pointer-to:ftxb}, < {-pointer-to:rtxb}, {phrase options}); -). < To replace the regular expression (ftxb - indexed text) in (txb - indexed text) with < (rtxb - indexed text), case insensitively: --- > (- IT_Replace_RE(CHR_BLOB, {-pointer-to:txb}, {-pointer-to:ftxb}, > {-pointer-to:rtxb}, {phrase options}); -). > To replace the regular expression (ftxb - indexed text) in (txb - indexed text) with > (rtxb - indexed text), case insensitively > (documented at ph_replacere): 4943,5086c4703,5085 < (rtxb - indexed text): < (- IT_ReplaceText(WORD_BLOB, {-pointer-to:txb}, {-pointer-to:ftxb}, {-pointer-to:rtxb}); -). < To replace the punctuated word (ftxb - indexed text) in (txb - indexed text) < with (rtxb - indexed text): < (- IT_ReplaceText(PWORD_BLOB, {-pointer-to:txb}, {-pointer-to:ftxb}, {-pointer-to:rtxb}); -). < < Section SR5/2/13 - Values and data structures - Casing of text < < To decide what indexed text is (txb - indexed text) in lower case < (documented at ph_casing): < (- IT_CharactersToCase({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, 0) -). < To decide what indexed text is (txb - indexed text) in upper case: < (- IT_CharactersToCase({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, 1) -). < To decide what indexed text is (txb - indexed text) in title case: < (- IT_CharactersToCase({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, 2) -). < To decide what indexed text is (txb - indexed text) in sentence case: < (- IT_CharactersToCase({-pointer-to-new:INDEXED_TEXT_TY}, {-pointer-to:txb}, 3) -). < To decide if (txb - indexed text) is in lower case: < (- IT_CharactersOfCase({-pointer-to:txb}, 0) -). < To decide if (txb - indexed text) is in upper case: < (- IT_CharactersOfCase({-pointer-to:txb}, 1) -). < < Section SR5/2/14 - Values and data structures - Lists < < To add (N - value = kov reference 1) to (L - list of values = list of kov marker 1), < if absent < (documented at ph_addlist): < (- LIST_OF_TY_InsertItem({-pointer-to:L}, {N}, 0, 0, {phrase options}); -). < To add (N - value = kov reference 1) at entry (E - number) in < (L - list of values = list of kov marker 1), if absent: < (- LIST_OF_TY_InsertItem({-pointer-to:L}, {N}, 1, {E}, {phrase options}); -). < To add (LX - list of values = list of kov reference 1) to < (L - list of values = list of kov marker 1), if absent: < (- LIST_OF_TY_AppendList({-pointer-to:L}, {-pointer-to:LX}, 0, 0, {phrase options}); -). < To add (LX - list of values = list of kov reference 1) at entry (E - number) < in (L - list of values = list of kov marker 1): < (- LIST_OF_TY_AppendList({-pointer-to:L}, {-pointer-to:LX}, 1, {E}, 0); -). < To remove (N - value = kov reference 1) from (L - list of values = list of kov marker 1), < if present < (documented at ph_remlist): < (- LIST_OF_TY_RemoveValue({-pointer-to:L}, {N}, {phrase options}); -). < To remove (N - list of values = list of kov reference 1) from < (L - list of values = list of kov marker 1), if present: < (- LIST_OF_TY_Remove_List({-pointer-to:L}, {-pointer-to:N}, {phrase options}); -). < To remove entry (N - number) from (L - list of values), if present: < (- LIST_OF_TY_RemoveItemRange({-pointer-to:L}, {N}, {N}, {phrase options}); -). < To remove entries (N - number) to (N2 - number) from (L - list of values), if present: < (- LIST_OF_TY_RemoveItemRange({-pointer-to:L}, {N}, {N2}, {phrase options}); -). < < To decide if (N - value = kov reference 1) is listed in < (L - list of values = list of kov marker 1) < (documented at ph_islistedin): < (- (LIST_OF_TY_FindItem({-pointer-to:L}, {N})) -). < To decide if (N - value = kov reference 1) is not listed in < (L - list of values = list of kov marker 1): < (- (LIST_OF_TY_FindItem({-pointer-to:L}, {N}) == false) -). < < To decide what list of objects is the list of (D - description) < (documented at ph_listd): < (- LIST_OF_TY_Desc({-pointer-to-new:LIST_OF_TY}, {D}) -). < To decide what list of values is the list of (D - domain-description) < (amended kind of value 0): < (- LIST_OF_TY_Desc({-pointer-to-new:LIST_OF_TY}, {D}, {-domain-kov:D}) -). < To decide what list of objects is the multiple object list < (documented at ph_mobjl): < (- LIST_OF_TY_Mol({-pointer-to-new:LIST_OF_TY}) -). < To alter the multiple object list to (L - list of objects): < (- LIST_OF_TY_Set_Mol({-pointer-to:L}); -). < < Section SR5/2/15 - Values and data structures - Length of lists < < To decide what number is the number of entries in/of (L - a list of values) < (documented at ph_numel): < (- LIST_OF_TY_GetLength({-pointer-to:L}) -). < To truncate (L - a list of values) to (N - a number) entries < (documented at ph_truncate): < (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, -1, 1); -). < To truncate (L - a list of values) to the first (N - a number) entries: < (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, -1, 1); -). < To truncate (L - a list of values) to the last (N - a number) entries: < (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, -1, -1); -). < To extend (L - a list of values) to (N - a number) entries: < (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, 1); -). < To change (L - a list of values) to have (N - a number) entries: < (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, 0); -). < < Section SR5/2/16 - Values and data structures - Reversing and rotating lists < < To reverse (L - a list of values) < (documented at ph_revl): < (- LIST_OF_TY_Reverse({-pointer-to:L}); -). < To rotate (L - a list of values) < (documented at ph_rotl): < (- LIST_OF_TY_Rotate({-pointer-to:L}, 0); -). < To rotate (L - a list of values) backwards: < (- LIST_OF_TY_Rotate({-pointer-to:L}, 1); -). < < Section SR5/2/17 - Values and data structures - Sorting lists < < To sort (L - a list of values) < (documented at ph_sortl): < (- LIST_OF_TY_Sort({-pointer-to:L}, 1); -). < To sort (L - a list of values) in reverse order: < (- LIST_OF_TY_Sort({-pointer-to:L}, -1); -). < To sort (L - a list of values) in random order: < (- LIST_OF_TY_Sort({-pointer-to:L}, 2); -). < To sort (L - a list of objects) in (P - property) order: < (- LIST_OF_TY_Sort({-pointer-to:L}, 1, {P}); -). < To sort (L - a list of objects) in reverse (P - property) order: < (- LIST_OF_TY_Sort({-pointer-to:L}, -1, {P}); -). < < Section SR5/2/18 - Values and data structures - Use options < < To decide whether using the/-- (UO - use-option) < (documented at ph_testuo): < (- (TestUseOption({UO})) -). < < Section SR5/2/19 - Values and data structures - Relations < < To decide which object is next step via (R - abstract-relation) < from (O1 - object) to (O2 - object) < (documented at ph_nextstep): < (- RelationRouteTo({R},{O1},{O2},false) -). < To decide which number is number of steps via (R - abstract-relation) < from (O1 - object) to (O2 - object): < (- RelationRouteTo({R},{O1},{O2},true) -). < < Section SR5/3/1 - Loops and conditionals - If and unless < < To if (c - condition) then (ph - phrase) < (documented at ph_if): < (- if {c} {ph} -). < To if (c - condition) , (ph - phrase): < (- if {c} {ph} -). < To unless (c - condition) , (ph - phrase): < (- if (~~{c}) {ph} -). < < To otherwise if (c - condition): < (- } else if {c} { -). < To else if (c - condition): < (- } else if {c} { -). < To otherwise unless (c - condition): < (- } else if (~~{c}) { -). < To else unless (c - condition): --- > (rtxb - indexed text) > (documented at ph_replacewordin): > (- IT_ReplaceText(WORD_BLOB, {-pointer-to:txb}, {-pointer-to:ftxb}, {-pointer-to:rtxb}); -). > To replace the punctuated word (ftxb - indexed text) in (txb - indexed text) > with (rtxb - indexed text) > (documented at ph_replacepwordin): > (- IT_ReplaceText(PWORD_BLOB, {-pointer-to:txb}, {-pointer-to:ftxb}, {-pointer-to:rtxb}); -). > > To replace character number (N - a number) in (txb - indexed text) > with (rtxb - indexed text) > (documented at ph_replacechar): > (- IT_ReplaceBlob(CHR_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). > To replace word number (N - a number) in (txb - indexed text) > with (rtxb - indexed text) > (documented at ph_replaceword): > (- IT_ReplaceBlob(WORD_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). > To replace punctuated word number (N - a number) in (txb - indexed text) > with (rtxb - indexed text) > (documented at ph_replacepword): > (- IT_ReplaceBlob(PWORD_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). > To replace unpunctuated word number (N - a number) in (txb - indexed text) > with (rtxb - indexed text) > (documented at ph_replaceupword): > (- IT_ReplaceBlob(UWORD_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). > To replace line number (N - a number) in (txb - indexed text) with (rtxb - indexed text) > (documented at ph_replaceline): > (- IT_ReplaceBlob(LINE_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). > To replace paragraph number (N - a number) in (txb - indexed text) with (rtxb - indexed text) > (documented at ph_replacepara): > (- IT_ReplaceBlob(PARA_BLOB, {-pointer-to:txb}, {N}, {-pointer-to:rtxb}); -). > > Section SR5/2/13 - Values - Casing of text > > To decide what indexed text is (txb - indexed text) in lower case > (documented at ph_lowercase): > (- IT_CharactersToCase({-pointer-to-new:indexed text}, {-pointer-to:txb}, 0) -). > To decide what indexed text is (txb - indexed text) in upper case > (documented at ph_uppercase): > (- IT_CharactersToCase({-pointer-to-new:indexed text}, {-pointer-to:txb}, 1) -). > To decide what indexed text is (txb - indexed text) in title case > (documented at ph_titlecase): > (- IT_CharactersToCase({-pointer-to-new:indexed text}, {-pointer-to:txb}, 2) -). > To decide what indexed text is (txb - indexed text) in sentence case > (documented at ph_sentencecase): > (- IT_CharactersToCase({-pointer-to-new:indexed text}, {-pointer-to:txb}, 3) -). > To decide if (txb - indexed text) is in lower case > (documented at ph_inlower): > (- IT_CharactersOfCase({-pointer-to:txb}, 0) -). > To decide if (txb - indexed text) is in upper case > (documented at ph_inupper): > (- IT_CharactersOfCase({-pointer-to:txb}, 1) -). > > Section SR5/2/14 - Values - Lists > > To add (new entry - K) to (L - list of values of kind K), if absent > (documented at ph_addtolist): > (- LIST_OF_TY_InsertItem({-pointer-to:L}, {new entry}, 0, 0, {phrase options}); -). > > To add (new entry - K) at entry (E - number) in (L - list of values of kind K), if absent > (documented at ph_addatentry): > (- LIST_OF_TY_InsertItem({-pointer-to:L}, {new entry}, 1, {E}, {phrase options}); -). > > To add (LX - list of Ks) to (L - list of values of kind K), if absent > (documented at ph_addlisttolist): > (- LIST_OF_TY_AppendList({-pointer-to:L}, {-pointer-to:LX}, 0, 0, {phrase options}); -). > > To add (LX - list of Ks) at entry (E - number) in (L - list of values of kind K) > (documented at ph_addlistatentry): > (- LIST_OF_TY_AppendList({-pointer-to:L}, {-pointer-to:LX}, 1, {E}, 0); -). > > To remove (existing entry - K) from (L - list of values of kind K), if present > (documented at ph_remfromlist): > (- LIST_OF_TY_RemoveValue({-pointer-to:L}, {existing entry}, {phrase options}); -). > > To remove (N - list of Ks) from (L - list of values of kind K), if present > (documented at ph_remlistfromlist): > (- LIST_OF_TY_Remove_List({-pointer-to:L}, {-pointer-to:N}, {phrase options}); -). > > To remove entry (N - number) from (L - list of values), if present > (documented at ph_rementry): > (- LIST_OF_TY_RemoveItemRange({-pointer-to:L}, {N}, {N}, {phrase options}); -). > > To remove entries (N - number) to (N2 - number) from (L - list of values), if present > (documented at ph_rementries): > (- LIST_OF_TY_RemoveItemRange({-pointer-to:L}, {N}, {N2}, {phrase options}); -). > > To decide if (N - K) is listed in (L - list of values of kind K) > (documented at ph_islistedin): > (- (LIST_OF_TY_FindItem({-pointer-to:L}, {N})) -). > > To decide if (N - K) is not listed in (L - list of values of kind K) > (documented at ph_isnotlistedin): > (- (LIST_OF_TY_FindItem({-pointer-to:L}, {N}) == false) -). > > To decide what list of Ks is the list of (D - description of values of kind K) > (documented at ph_listofdesc): > (- LIST_OF_TY_Desc({-pointer-to-new:list of K}, {D}, {-strong-kind:K}) -). > To decide what list of objects is the multiple object list > (documented at ph_multipleobjectlist): > (- LIST_OF_TY_Mol({-pointer-to-new:list of objects}) -). > To alter the multiple object list to (L - list of objects) > (documented at ph_altermultipleobjectlist): > (- LIST_OF_TY_Set_Mol({-pointer-to:L}); -). > > Section SR5/2/15 - Values - Length of lists > > To decide what number is the number of entries in/of (L - a list of values) > (documented at ph_numberentries): > (- LIST_OF_TY_GetLength({-pointer-to:L}) -). > To truncate (L - a list of values) to (N - a number) entries/entry > (documented at ph_truncate): > (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, -1, 1); -). > To truncate (L - a list of values) to the first (N - a number) entries/entry > (documented at ph_truncatefirst): > (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, -1, 1); -). > To truncate (L - a list of values) to the last (N - a number) entries/entry > (documented at ph_truncatelast): > (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, -1, -1); -). > To extend (L - a list of values) to (N - a number) entries/entry > (documented at ph_extend): > (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, 1); -). > To change (L - a list of values) to have (N - a number) entries/entry > (documented at ph_changelength): > (- LIST_OF_TY_SetLength({-pointer-to:L}, {N}, 0); -). > > Section SR5/2/16 - Values - Reversing and rotating lists > > To reverse (L - a list of values) > (documented at ph_reverselist): > (- LIST_OF_TY_Reverse({-pointer-to:L}); -). > To rotate (L - a list of values) > (documented at ph_rotatelist): > (- LIST_OF_TY_Rotate({-pointer-to:L}, 0); -). > To rotate (L - a list of values) backwards > (documented at ph_rotatelistback): > (- LIST_OF_TY_Rotate({-pointer-to:L}, 1); -). > > Section SR5/2/17 - Values - Sorting lists > > To sort (L - a list of values) > (documented at ph_sortlist): > (- LIST_OF_TY_Sort({-pointer-to:L}, 1); -). > To sort (L - a list of values) in reverse order > (documented at ph_sortlistreverse): > (- LIST_OF_TY_Sort({-pointer-to:L}, -1); -). > To sort (L - a list of values) in random order > (documented at ph_sortlistrandom): > (- LIST_OF_TY_Sort({-pointer-to:L}, 2); -). > To sort (L - a list of objects) in (P - property) order > (documented at ph_sortlistproperty): > (- LIST_OF_TY_Sort({-pointer-to:L}, 1, {P}, {-block-value:P}); -). > To sort (L - a list of objects) in reverse (P - property) order > (documented at ph_sortlistpropertyreverse): > (- LIST_OF_TY_Sort({-pointer-to:L}, -1, {P}, {-block-value:P}); -). > > Section SR5/2/18 - Values - Use options > > To decide whether using the/-- (UO - use option) > (deprecated) > (documented at ph_testuseoption_dep): > (- (TestUseOption({UO})) -). > > Section SR5/2/19 - Values - Relations > > To show relation (R - relation) > (documented at ph_showrelation): > (- {-show-me}; RelationTest({-pointer-to:R}, RELS_SHOW); -). > > To decide which object is next step via (R - relation of values to values) > from (O1 - object) to (O2 - object) > (documented at ph_nextstep): > (- RelationRouteTo({-pointer-to:R},{O1},{O2},false) -). > To decide which number is number of steps via (R - relation of values to values) > from (O1 - object) to (O2 - object) > (documented at ph_numbersteps): > (- RelationRouteTo({-pointer-to:R},{O1},{O2},true) -). > > To decide which list of Ks is list of (name of kind of value K) > that/which/whom (R - relation of Ks to values of kind L) relates > (documented at ph_leftdomain): > (- RelationTest({-pointer-to:R}, RELS_LIST, {-pointer-to-new:list of K}, RLIST_ALL_X) -). > > To decide which list of Ls is list of (name of kind of value L) > to which/whom (R - relation of values of kind K to Ls) relates > (documented at ph_rightdomain): > (- RelationTest({-pointer-to:R}, RELS_LIST, {-pointer-to-new:list of L}, RLIST_ALL_Y) -). [1] > > To decide which list of Ls is list of (name of kind of value L) > that/which/whom (R - relation of values of kind K to Ls) relates to > (documented at ph_rightdomain): > (- RelationTest({-pointer-to:R}, RELS_LIST, {-pointer-to-new:list of L}, RLIST_ALL_Y) -). [2] > > To decide which list of Ks is list of (name of kind of value K) that/which/who > relate to (Y - L) by (R - relation of Ks to values of kind L) > (documented at ph_leftlookuplist): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ALL_X, {Y}, {-pointer-to-new:list of K}) -). > > To decide which list of Ls is list of (name of kind of value L) to which/whom (X - K) > relates by (R - relation of values of kind K to Ls) > (documented at ph_rightlookuplist): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ALL_Y, {X}, {-pointer-to-new:list of L}) -). [1] > > To decide which list of Ls is list of (name of kind of value L) > that/which/whom (X - K) relates to by (R - relation of values of kind K to Ls) > (documented at ph_rightlookuplist): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ALL_Y, {X}, {-pointer-to-new:list of L}) -). [2] > > To decide whether (name of kind of value K) relates to (Y - L) by > (R - relation of Ks to values of kind L) > (documented at ph_ifright): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ANY, {Y}, RLANY_CAN_GET_X) -). > > To decide whether (X - K) relates to (name of kind of value L) by > (R - relation of values of kind K to Ls) > (documented at ph_ifleft): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ANY, {X}, RLANY_CAN_GET_Y) -). > > To decide which K is (name of kind of value K) that/which/who relates to > (Y - L) by (R - relation of Ks to values of kind L) > (documented at ph_leftlookup): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ANY, {Y}, RLANY_GET_X) -). > > To decide which L is (name of kind of value L) to which/whom (X - K) > relates by (R - relation of values of kind K to Ls) > (documented at ph_rightlookup): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ANY, {X}, RLANY_GET_Y) -). [1] > > To decide which L is (name of kind of value L) that/which/whom (X - K) > relates to by (R - relation of values of kind K to Ls) > (documented at ph_rightlookup): > (- RelationTest({-pointer-to:R}, RELS_LOOKUP_ANY, {X}, RLANY_GET_Y) -). [2] > > Section SR5/2/20 - Values - Functional programming > > To decide whether (val - K) matches (desc - description of values of kind K) > (documented at ph_valuematch): > (- {-description-application} -). > > To decide what K is (function - phrase nothing -> value of kind K) applied > (documented at ph_applied0): > (- {-function-application} -). > > To decide what L is (function - phrase value of kind K -> value of kind L) > applied to (input - K) > (documented at ph_applied1): > (- {-function-application} -). > > To decide what M is (function - phrase (value of kind K, value of kind L) -> value of kind M) > applied to (input - K) and (second input - L) > (documented at ph_applied2): > (- {-function-application} -). > > To decide what N is (function - phrase (value of kind K, value of kind L, value of kind M) -> value of kind N) > applied to (input - K) and (second input - L) and (third input - M) > (documented at ph_applied3): > (- {-function-application} -). > > To apply (function - phrase nothing -> nothing) > (documented at ph_apply0): > (- {-function-application}; -). > > To apply (function - phrase value of kind K -> nothing) > to (input - K) > (documented at ph_apply1): > (- {-function-application}; -). > > To apply (function - phrase (value of kind K, value of kind L) -> nothing) > to (input - K) and (second input - L) > (documented at ph_apply2): > (- {-function-application}; -). > > To apply (function - phrase (value of kind K, value of kind L, value of kind M) -> nothing) > to (input - K) and (second input - L) and (third input - M) > (documented at ph_apply3): > (- {-function-application}; -). > > To decide what list of L is (function - phrase K -> value of kind L) applied to (original list - list of values of kind K) > (documented at ph_appliedlist): > let the result be a list of Ls; > repeat with item running through the original list: > let the mapped item be the function applied to the item; > add the mapped item to the result; > decide on the result. > > To decide what K is the (function - phrase (K, K) -> K) reduction of (original list - list of values of kind K) > (documented at ph_reduction): > let the total be a K; > let the count be 0; > repeat with item running through the original list: > increase the count by 1; > if the count is 1, now the total is the item; > otherwise now the total is the function applied to the total and the item; > decide on the total. > > To decide what list of K is the filter to (criterion - description of Ks) of > (full list - list of values of kind K) > (documented at ph_filter): > let the filtered list be a list of K; > repeat with item running through the full list: > if the item matches the criterion: > add the item to the filtered list; > decide on the filtered list. > > To showme (V - value) > (documented at ph_showme): > (- {-show-me} -). > > To decide what K is the default value of (V - name of kind of value of kind K) > (documented at ph_defaultvalue): > (- {-default-value-for:V} -). > > Section SR5/2/21 - Values - Files (for Glulx external files language element only) > > To read (filename - external file) into (T - table name) > (documented at ph_readtable): > (- FileIO_GetTable({filename}, {T}); -). > To write (filename - external file) from (T - table name) > (documented at ph_writetable): > (- FileIO_PutTable({filename}, {T}); -). > To decide if (filename - external file) exists > (documented at ph_fileexists): > (- (FileIO_Exists({filename}, false)) -). > To decide if ready to read (filename - external file) > (documented at ph_fileready): > (- (FileIO_Ready({filename}, false)) -). > To mark (filename - external file) as ready to read > (documented at ph_markfileready): > (- FileIO_MarkReady({filename}, true); -). > To mark (filename - external file) as not ready to read > (documented at ph_markfilenotready): > (- FileIO_MarkReady({filename}, false); -). > To write (T - text) to (FN - external file) > (documented at ph_writetext): > (- FileIO_PutContents({FN}, {-allow-stack-frame-access:T}, false); -). > To append (T - text) to (FN - external file) > (documented at ph_appendtext): > (- FileIO_PutContents({FN}, {-allow-stack-frame-access:T}, true); -). > To say text of (FN - external file) > (documented at ph_saytext): > (- FileIO_PrintContents({FN}); say__p = 1; -). > > Section SR5/2/22 - Values - Figures (for figures language element only) > > To display (F - figure name), one time only > (documented at ph_displayfigure): > (- DisplayFigure(ResourceIDsOfFigures-->{F}, {phrase options}); -). > To decide which number is the Glulx resource ID of (F - figure name) > (documented at ph_figureid): > (- ResourceIDsOfFigures-->{F} -). > > Section SR5/2/23 - Values - Sound effects (for sounds language element only) > > To play (SFX - sound name), one time only > (documented at ph_playsf): > (- PlaySound(ResourceIDsOfSounds-->{SFX}, {phrase options}); -). > To decide which number is the Glulx resource ID of (SFX - sound name) > (documented at ph_soundid): > (- ResourceIDsOfSounds-->{SFX} -). > > Section SR5/3/1 - Control phrases - If and unless > > To if (c - condition) , (ph - phrase) > (documented at ph_if): > (- if {c} {ph} -). > To if (c - condition) begin -- end > (documented at ph_if): > (- if {c} -). > To if (c - condition) then (ph - phrase) > (deprecated) > (documented at ph_if_dep): > (- if {c} {ph} -). > To unless (c - condition) , (ph - phrase) > (documented at ph_unless): > (- if (~~{c}) {ph} -). > To unless (c - condition) begin -- end > (documented at ph_unless): > (- if (~~{c}) -). > > To otherwise if (c - condition) > (documented at ph_otherwise): > (- } else if {c} { -). > To otherwise unless (c - condition) > (documented at ph_otherwise): 5091a5090,5095 > To else if (c - condition) > (documented at ph_otherwise): > (- } else if {c} { -). > To else unless (c - condition) > (documented at ph_otherwise): > (- } else if (~~{c}) { -). 5094,5119c5099,5129 < To if (c - condition) begin -- end: < (- if {c} -). < To unless (c - condition) begin -- end: < (- if (~~{c}) -). < < To if (V - word value) is begin -- end: < (- switch({V}) -). < < Section SR5/3/2 - Loops and conditionals - While < < To while (c - condition) repeatedly (ph - phrase) < (documented at ph_while): < (- while {c} {ph} -). < To while (c - condition) , (ph - phrase): < (- while {c} {ph} -). < To while (c - condition) begin -- end: < (- while {c} -). < < Section SR5/3/3 - Loops and conditionals - Repeat < < To repeat with (loopvar - nonexisting number variable) < running from (v - number) to (w - number) begin -- end < (documented at ph_repeat): < (- for ({loopvar}={v}: {loopvar}<={w}: {loopvar}++) -). < To repeat with (loopvar - nonexisting object variable) < running through (OS - description) begin -- end --- > > To if (V - word value) is begin -- end > (documented at ph_switch): > (- switch({V}) -). > > Section SR5/3/2 - Control phrases - While > > To while (c - condition) repeatedly (ph - phrase) > (deprecated) > (documented at ph_while_dep): > (- while {c} {ph} -). > To while (c - condition) , (ph - phrase) > (deprecated) > (documented at ph_while_dep): > (- while {c} {ph} -). > To while (c - condition) begin -- end > (documented at ph_while): > (- while {c} -). > > Section SR5/3/3 - Control phrases - Repeat > > To repeat with (loopvar - nonexisting K variable) > running from (v - arithmetic value of kind K) to (w - K) begin -- end > (documented at ph_repeat): > (- for ({loopvar}={v}: {loopvar}<={w}: {loopvar}++) -). > To repeat with (loopvar - nonexisting K variable) > running from (v - enumerated value of kind K) to (w - K) begin -- end > (documented at ph_repeat): > (- for ({loopvar}={v}: {loopvar}<={w}: {loopvar}++) -). > To repeat with (loopvar - nonexisting K variable) > running through (OS - description of values of kind K) begin -- end 5123,5130c5133,5138 < running through (OS - domain-description) begin -- end < (documented at ph_runthrough): < (- {-loop-over-domain:OS} -). < < Section SR5/3/4 - Loops and conditionals - Repeat through tables < < To repeat through (T - table-name) begin -- end < (documented at ph_tabrepeat): --- > running through (L - list of values) begin -- end > (documented at ph_repeatlist): > (- {-loop-over-list:L} -). > > To repeat through (T - table name) begin -- end > (documented at ph_repeattable): 5135c5143,5144 < To repeat through (T - table-name) in reverse order begin -- end: --- > To repeat through (T - table name) in reverse order begin -- end > (documented at ph_repeattablereverse): 5140c5149,5150 < To repeat through (T - table-name) in (TC - table-column) order begin -- end: --- > To repeat through (T - table name) in (TC - table column) order begin -- end > (documented at ph_repeattablecol): 5145c5155,5156 < To repeat through (T - table-name) in reverse (TC - table-column) order begin -- end: --- > To repeat through (T - table name) in reverse (TC - table column) order begin -- end > (documented at ph_repeattablecolreverse): 5151,5164c5162,5171 < Section SR5/3/5 - Loops and conditionals - Repeat through lists < < To repeat with (loopvar - nonexisting object variable) < running through (L - list of values) begin -- end: < (- {-loop-over-list:L} -). < < Section SR5/3/6 - Loops and conditionals - Changing the flow of loops < < To break -- in loop (documented at ph_break): < (- break; -). < To next -- in loop (documented at ph_next): < (- continue; -). < < Section SR5/3/7 - Loops and conditionals - Deciding outcomes --- > Section SR5/3/6 - Control phrases - Changing the flow of loops > > To break -- in loop > (documented at ph_break): > (- break; -). > To next -- in loop > (documented at ph_next): > (- continue; -). > > Section SR5/3/7 - Control phrases - Deciding outcomes 5169,5173c5176,5183 < To decide yes: < (- rtrue; -) - in to decide if only. < To no: < (- rfalse; -) - in to decide if only. < To decide no: --- > To decide yes > (documented at ph_yes): > (- rtrue; -) - in to decide if only. > To no > (documented at ph_no): > (- rfalse; -) - in to decide if only. > To decide no > (documented at ph_no): 5177,5180c5187,5190 < (documented at ph_result): < (- return {-check-return-type:something}; -). < < Section SR5/3/8 - Loops and conditionals - Stop or go --- > (documented at ph_decideon): > (- return {-check-return-type:something}; -). > > Section SR5/3/8 - Control phrases - Stop or go 5192,5194c5202,5206 < To silently try (doing something - action): < (- @push keep_silent; keep_silent=1; {doing something}; @pull keep_silent; -). < To try silently (doing something - action): --- > To silently try (doing something - action) > (documented at ph_trysilently): > (- @push keep_silent; keep_silent=1; {doing something}; @pull keep_silent; -). > To try silently (doing something - action) > (documented at ph_trysilently): 5200,5208c5212,5224 < (documented at ph_requires): < (- (NeedToTouchNoun()) -). < To decide whether the action requires a touchable second noun: < (- (NeedToTouchSecondNoun()) -). < To decide whether the action requires a carried noun: < (- (NeedToCarryNoun()) -). < To decide whether the action requires a carried second noun: < (- (NeedToCarrySecondNoun()) -). < To decide whether the action requires light: --- > (documented at ph_requirestouch): > (- (NeedToTouchNoun()) -). > To decide whether the action requires a touchable second noun > (documented at ph_requirestouch2): > (- (NeedToTouchSecondNoun()) -). > To decide whether the action requires a carried noun > (documented at ph_requirescarried): > (- (NeedToCarryNoun()) -). > To decide whether the action requires a carried second noun > (documented at ph_requirescarried2): > (- (NeedToCarrySecondNoun()) -). > To decide whether the action requires light > (documented at ph_requireslight): 5214,5216c5230,5233 < (documented at ph_stopac): < (- rtrue; -) - in to only. < To continue the action: --- > (documented at ph_stopaction): > (- rtrue; -) - in to only. > To continue the action > (documented at ph_continueaction): 5222,5230c5239,5251 < (documented at ph_curract): < (- STORED_ACTION_TY_Current({-pointer-to-new:STORED_ACTION_TY}) -). < To decide what stored action is the action of (A - action): < (- {A}{-delete}{-delete}, STORED_ACTION_TY_Current({-pointer-to-new:STORED_ACTION_TY})) -). < To try (S - stored action): < (- STORED_ACTION_TY_Try({S}); -). < To silently try (S - stored action): < (- STORED_ACTION_TY_Try({S}, true); -). < To try silently (S - stored action): --- > (documented at ph_currentaction): > (- STORED_ACTION_TY_Current({-pointer-to-new:stored action}) -). > To decide what stored action is the action of (A - action) > (documented at ph_actionof): > (- {A}{-backspace}{-backspace}, STORED_ACTION_TY_Current({-pointer-to-new:stored action})) -). > To try (S - stored action) > (documented at ph_trystored): > (- STORED_ACTION_TY_Try({S}); -). > To silently try (S - stored action) > (documented at ph_trystoredsilently): > (- STORED_ACTION_TY_Try({S}, true); -). > To try silently (S - stored action) > (documented at ph_trystoredsilently): 5235,5241c5256,5266 < To decide what action-name is the action-name part of (act - a stored action): < (- (STORED_ACTION_TY_Part({-pointer-to:act}, 0)) -). < To decide what object is the noun part of (act - a stored action): < (- (STORED_ACTION_TY_Part({-pointer-to:act}, 1)) -). < To decide what object is the second noun part of (act - a stored action): < (- (STORED_ACTION_TY_Part({-pointer-to:act}, 2)) -). < To decide what object is the actor part of (act - a stored action): --- > To decide what action name is the action name part of (act - a stored action) > (documented at ph_actionpart): > (- (STORED_ACTION_TY_Part({-pointer-to:act}, 0)) -). > To decide what object is the noun part of (act - a stored action) > (documented at ph_nounpart): > (- (STORED_ACTION_TY_Part({-pointer-to:act}, 1)) -). > To decide what object is the second noun part of (act - a stored action) > (documented at ph_secondpart): > (- (STORED_ACTION_TY_Part({-pointer-to:act}, 2)) -). > To decide what object is the actor part of (act - a stored action) > (documented at ph_actorpart): 5246,5262c5271,5279 < To carry out the (A - activity) activity < (documented at ph_carryout): < (- CarryOutActivity({A}); -). < To carry out the (A - activity) activity with (O - object): < (- CarryOutActivity({A}, {O}); -). < < [To decide whether (A - activity) activity is going on < (documented at ph_goingon): < (- (TestActivity({A})) -). < To decide whether (A - activity) activity is not going on: < (- (~~(TestActivity({A}))) -). < To decide whether (A - activity) activity is empty: < (- (ActivityEmpty({A})) -). < To decide whether (A - activity) activity is not empty: < (- (~~(ActivityEmpty({A}))) -).] < < To continue the activity: --- > To carry out the (A - activity on nothing) activity > (documented at ph_carryout): > (- CarryOutActivity({A}); -). > To carry out the (A - activity on value of kind K) activity with (val - K) > (documented at ph_carryoutwith): > (- CarryOutActivity({A}, {val}); -). > > To continue the activity > (documented at ph_continueactivity): 5267,5283c5284,5307 < To begin the (A - activity) activity < (documented at ph_beginact): < (- BeginActivity({A}); -). < To begin the (A - activity) activity with (O - object): < (- BeginActivity({A}, {O}); -). < To decide whether handling (A - activity) activity: < (- (~~(ForActivity({A}))) -). < To decide whether handling (A - activity) activity with (O - object): < (- (~~(ForActivity({A}, {O}))) -). < To end the (A - activity) activity: < (- EndActivity({A}); -). < To end the (A - activity) activity with (O - object): < (- EndActivity({A}, {O}); -). < To abandon the (A - activity) activity: < (- AbandonActivity({A}); -). < To abandon the (A - activity) activity with (O - object): < (- AbandonActivity({A}, {O}); -). --- > To begin the (A - activity on nothing) activity > (documented at ph_beginactivity): > (- BeginActivity({A}); -). > To begin the (A - activity on value of kind K) activity with (val - K) > (documented at ph_beginactivitywith): > (- BeginActivity({A}, {val}); -). > To decide whether handling (A - activity) activity > (documented at ph_handlingactivity): > (- (~~(ForActivity({A}))) -). > To decide whether handling (A - activity on value of kind K) activity with (val - K) > (documented at ph_handlingactivitywith): > (- (~~(ForActivity({A}, {val}))) -). > To end the (A - activity on nothing) activity > (documented at ph_endactivity): > (- EndActivity({A}); -). > To end the (A - activity on value of kind K) activity with (val - K) > (documented at ph_endactivitywith): > (- EndActivity({A}, {val}); -). > To abandon the (A - activity on nothing) activity > (documented at ph_abandonactivity): > (- AbandonActivity({A}); -). > To abandon the (A - activity on value of kind K) activity with (val - K) > (documented at ph_abandonactivitywith): > (- AbandonActivity({A}, {val}); -). 5290,5291c5314,5316 < To follow (RL - a rule) for (O - object): < (- FollowRulebook({RL}, {O}, true); -). --- > To follow (RL - value of kind K based rule producing a value) for (V - K) > (documented at ph_followfor): > (- FollowRulebook({RL}, {V}, true); -). 5295,5296c5320,5329 < To consider (RL - a rule) for (O - object): < (- ProcessRulebook({RL}, {O}, true); -). --- > To consider (RL - value of kind K based rule producing a value) for (V - K) > (documented at ph_considerfor): > (- ProcessRulebook({RL}, {V}, true); -). > To decide what K is the (name of kind K) produced by (RL - rule producing a value of kind K) > (documented at ph_producedby): > (- ResultOfRule({RL}, 0, false, {-strong-kind:K}) -). > To decide what L is the (name of kind L) produced by (RL - value of kind K based rule > producing a value of kind L) for (V - K) > (documented at ph_producedbyfor): > (- ResultOfRule({RL}, {V}, true, {-strong-kind:L}) -). 5300,5302c5333,5337 < To abide by (RL - a rule) for (O - object): < (- if (ProcessRulebook({RL}, {O}, true)) rtrue; -) - in to only. < To anonymously abide by (RL - a rule): --- > To abide by (RL - value of kind K based rule producing a value) for (V - K) > (documented at ph_abidefor): > (- if (ProcessRulebook({RL}, {V}, true)) rtrue; -) - in to only. > To anonymously abide by (RL - a rule) > (documented at ph_abideanon): 5306,5312c5341,5348 < rtrue; < } -) - in to only. < To anonymously abide by (RL - a rule) for (O - object): < (- if (temporary_value = ProcessRulebook({RL}, {O}, true)) { < if (RulebookSucceeded()) ActRulebookSucceeds(temporary_value); < else ActRulebookFails(temporary_value); < rtrue; --- > return 2; > } -) - in to only. > To anonymously abide by (RL - value of kind K based rule producing a value) for (V - K) > (documented at ph_abideanon): > (- if (temporary_value = ProcessRulebook({RL}, {V}, true)) { > if (RulebookSucceeded()) ActRulebookSucceeds(temporary_value); > else ActRulebookFails(temporary_value); > return 2; 5317c5353,5354 < To make no decision: (- rfalse; -) - in to only. --- > To make no decision > (documented at ph_nodecision): (- rfalse; -) - in to only. 5321,5339c5358,5371 < To rule fails: < (- RulebookFails(); rtrue; -) - in to only. < To rule succeeds with result (O - a miscellaneous-value): < (- RulebookSucceeds(true,{O}); rtrue; -) - in to only. < To rule fails with result (O - a miscellaneous-value): < (- RulebookFails(true,{O}); rtrue; -) - in to only. < To decide if rule succeeded: < (- (RulebookSucceeded()) -). < To decide if rule succeeded with result (O - miscellaneous-value): < (- ((RulebookSucceeded()) && (ResultOfRule() == {O})) -). < To decide if rule failed: < (- (RulebookFailed()) -). < To decide if rule failed with result (O - miscellaneous-value): < (- ((RulebookFailed()) && (ResultOfRule() == {O})) -). < To decide which miscellaneous-value is the result of the rule < (documented at ph_resultr): < (- (ResultOfRule()) -). < To decide which rulebook-outcome is the outcome of the rulebook < (documented at ph_outcomer): --- > To rule fails > (documented at ph_fails): > (- RulebookFails(); rtrue; -) - in to only. > To rule succeeds with result (val - a value) > (documented at ph_succeedswith): > (- RulebookSucceeds({-weak-kind-to-be-produced:val},{-check-success-type:val}); rtrue; -) - in to only. > To decide if rule succeeded > (documented at ph_succeeded): > (- (RulebookSucceeded()) -). > To decide if rule failed > (documented at ph_failed): > (- (RulebookFailed()) -). > To decide which rulebook outcome is the outcome of the rulebook > (documented at ph_rulebookoutcome): 5345,5380c5377,5465 < (documented at ph_ignore): < (- SuppressRule({RL}); -). < To reinstate (RL - a rule): < (- ReinstateRule({RL}); -). < To reject the result of (RL - a rule): < (- DonotuseRule({RL}); -). < To accept the result of (RL - a rule): < (- DonotuseRule({RL}); -). < To substitute (RL1 - a rule) for (RL2 - a rule): < (- SubstituteRule({RL1},{RL2}); -). < To restore the original (RL1 - a rule): < (- SubstituteRule({RL1},{RL1}); -). < To move (RL1 - a rule) to before (RL2 - a rule): < (- MoveRuleBefore({RL1},{RL2}); -). < To move (RL1 - a rule) to after (RL2 - a rule): < (- MoveRuleAfter({RL1},{RL2}); -). < < Section SR5/5/1 - Model world - Score < < To award (some - number) point/points < (documented at ph_awardp): < (- score=score+{some}; -). < < Section SR5/5/2 - Model world - Outcome of play < < To end the game in death (documented at ph_end): (- deadflag=1; -). < To end the game in victory: (- deadflag=2; -). < To end the game saying (finale - text): (- deadflag={finale}; -). < To resume the game: (- resurrect_please = true; -). < To decide whether the game is in progress: (- (deadflag==0) -). < To decide whether the game is over: (- (deadflag~=0) -). < To decide whether the game ended in death: (- (deadflag==1) -). < To decide whether the game ended in victory: (- (deadflag==2) -). < < Section SR5/5/3 - Model world - Times of day < --- > (deprecated) > (documented at ph_ignore_dep): > (- SuppressRule({RL}); -). > To reinstate (RL - a rule) > (deprecated) > (documented at ph_reinstate_dep): > (- ReinstateRule({RL}); -). > To reject the result of (RL - a rule) > (deprecated) > (documented at ph_reject_dep): > (- DonotuseRule({RL}); -). > To accept the result of (RL - a rule) > (deprecated) > (documented at ph_accept_dep): > (- DonotuseRule({RL}); -). > To substitute (RL1 - a rule) for (RL2 - a rule) > (deprecated) > (documented at ph_substitute_dep): > (- SubstituteRule({RL1},{RL2}); -). > To restore the original (RL1 - a rule) > (deprecated) > (documented at ph_restore_dep): > (- SubstituteRule({RL1},{RL1}); -). > To move (RL1 - a rule) to before (RL2 - a rule) > (deprecated) > (documented at ph_movebefore_dep): > (- MoveRuleBefore({RL1},{RL2}); -). > To move (RL1 - a rule) to after (RL2 - a rule) > (deprecated) > (documented at ph_moveafter_dep): > (- MoveRuleAfter({RL1},{RL2}); -). > > Section SR5/5/1 - Model world - Ending the story > > To end the story > (documented at ph_end): > (- deadflag=3; story_complete=false; -). > To end the story finally > (documented at ph_endfinally): > (- deadflag=3; story_complete=true; -). > To end the story saying (finale - text) > (documented at ph_endsaying): > (- deadflag={finale}; story_complete=false; -). > To end the story finally saying (finale - text) > (documented at ph_endfinallysaying): > (- deadflag={finale}; story_complete=true; -). > To decide whether the story has ended > (documented at ph_ended): > (- (deadflag~=0) -). > To decide whether the story has ended finally > (documented at ph_finallyended): > (- (story_complete) -). > To decide whether the story has not ended > (documented at ph_notended): > (- (deadflag==0) -). > To decide whether the story has not ended finally > (documented at ph_notfinallyended): > (- (story_complete==false) -). > To resume the story > (documented at ph_resume): > (- resurrect_please = true; -). > > To end the game in death (deprecated) > (documented at ph_enddeath_dep): > (- deadflag=1; story_complete=false; -). > To end the game in victory (deprecated) > (documented at ph_endvictory_dep): > (- deadflag=2; story_complete=true; -). > To end the game saying (finale - text) (deprecated) > (documented at ph_endgamesaying_dep): > (- deadflag={finale}; story_complete=false; -). > To resume the game (deprecated) > (documented at ph_resumegame_dep): > (- resurrect_please = true; -). > To decide whether the game is in progress (deprecated) > (documented at ph_inprogress_dep): > (- (deadflag==0) -). > To decide whether the game is over (deprecated) > (documented at ph_over_dep): > (- (deadflag~=0) -). > To decide whether the game ended in death (deprecated) > (documented at ph_endeddeath_dep): > (- (deadflag==1) -). > To decide whether the game ended in victory (deprecated) > (documented at ph_endedvictory_dep): > (- (deadflag==2) -). > > Section SR5/5/2 - Model world - Times of day > 5384c5469,5470 < To decide which number is the hours part of (t - time): --- > To decide which number is the hours part of (t - time) > (documented at ph_hourspart): 5388,5450c5474,5551 < (documented at ph_timeshift): < (- ((({t}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))<(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). < To decide if (t - time) is after (t2 - time): < (- ((({t}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))>(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). < To decide if it is before (t2 - time): < (- (((the_time+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))<(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). < To decide if it is after (t2 - time): < (- (((the_time+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))>(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). < To decide which time is (t - time) before (t2 - time) < (documented at ph_timeshift): < (- (({t2}-{t}+TWENTY_FOUR_HOURS)%(TWENTY_FOUR_HOURS)) -). < To decide which time is (t - time) after (t2 - time): < (- (({t2}+{t}+TWENTY_FOUR_HOURS)%(TWENTY_FOUR_HOURS)) -). < < Section SR5/5/4 - Model world - Durations < < To decide which time is (n - number) minutes < (documented at ph_durations): < (- (({n})%(TWENTY_FOUR_HOURS)) -). < To decide which time is (n - number) hours: < (- (({n}*ONE_HOUR)%(TWENTY_FOUR_HOURS)) -). < < Section SR5/5/5 - Model world - Timed events < < To (R - rule) in (t - number) turn from now < (documented at ph_future): < (- SetTimedEvent({R}, {t}+1, 0); -). < To (R - rule) in (t - number) turns from now: < (- SetTimedEvent({R}, {t}+1, 0); -). < To (R - rule) at (t - time): < (- SetTimedEvent({R}, {t}, 1); -). < To (R - rule) in (t - time) from now: < (- SetTimedEvent({R}, (the_time+{t})%(TWENTY_FOUR_HOURS), 1); -). < < Section SR5/5/6 - Model world - Scenes < < To decide if (sc - scene) has happened: < (- (scene_endings-->({sc}-1)) -). < To decide if (sc - scene) has not happened: < (- (scene_endings-->({sc}-1) == 0) -). < To decide if (sc - scene) has ended: < (- (scene_endings-->({sc}-1) > 1) -). < To decide if (sc - scene) has not ended: < (- (scene_endings-->({sc}-1) <= 1) -). < < Section SR5/5/7 - Model world - Timing of scenes < < To decide which time is the time since (sc - scene) began < (documented at ph_tsince): < (- (SceneUtility({sc}, 1)) -). < To decide which time is the time when (sc - scene) began: < (- (SceneUtility({sc}, 2)) -). < To decide which time is the time since (sc - scene) ended: < (- (SceneUtility({sc}, 3)) -). < To decide which time is the time when (sc - scene) ended: < (- (SceneUtility({sc}, 4)) -). < < Section SR5/5/8 - Model world - Player's identity and location < < To change the/-- player to (O - an object) < (documented at ph_changep): < (- ChangePlayer({O}); -). < To decide whether in (somewhere - an object): --- > (documented at ph_timebefore): > (- ((({t}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))<(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). > To decide if (t - time) is after (t2 - time) > (documented at ph_timeafter): > (- ((({t}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))>(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). > To decide if it is before (t2 - time) (deprecated) > (documented at ph_itisbefore_dep): > (- (((the_time+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))<(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). > To decide if it is after (t2 - time) (deprecated) > (documented at ph_itisafter_dep): > (- (((the_time+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))>(({t2}+20*ONE_HOUR)%(TWENTY_FOUR_HOURS))) -). > To decide which time is (t - time) before (t2 - time) > (documented at ph_shiftbefore): > (- (({t2}-{t}+TWENTY_FOUR_HOURS)%(TWENTY_FOUR_HOURS)) -). > To decide which time is (t - time) after (t2 - time) > (documented at ph_shiftafter): > (- (({t2}+{t}+TWENTY_FOUR_HOURS)%(TWENTY_FOUR_HOURS)) -). > > Section SR5/5/3 - Model world - Durations > > To decide which time is (n - number) minutes > (documented at ph_durationmins): > (- (({n})%(TWENTY_FOUR_HOURS)) -). > To decide which time is (n - number) hours > (documented at ph_durationhours): > (- (({n}*ONE_HOUR)%(TWENTY_FOUR_HOURS)) -). > > Section SR5/5/4 - Model world - Timed events > > To (R - rule) in (t - number) turn/turns from now > (documented at ph_turnsfromnow): > (- SetTimedEvent({-mark-event-used:R}, {t}+1, 0); -). > To (R - rule) at (t - time) > (documented at ph_attime): > (- SetTimedEvent({-mark-event-used:R}, {t}, 1); -). > To (R - rule) in (t - time) from now > (documented at ph_timefromnow): > (- SetTimedEvent({-mark-event-used:R}, (the_time+{t})%(TWENTY_FOUR_HOURS), 1); -). > > Section SR5/5/5 - Model world - Scenes > > To decide if (sc - scene) has happened > (documented at ph_hashappened): > (- (scene_endings-->({sc}-1)) -). > To decide if (sc - scene) has not happened > (documented at ph_hasnothappened): > (- (scene_endings-->({sc}-1) == 0) -). > To decide if (sc - scene) has ended > (documented at ph_hasended): > (- (scene_endings-->({sc}-1) > 1) -). > To decide if (sc - scene) has not ended > (documented at ph_hasnotended): > (- (scene_endings-->({sc}-1) <= 1) -). > > Section SR5/5/6 - Model world - Timing of scenes > > To decide which time is the time since (sc - scene) began > (documented at ph_scenetimesincebegan): > (- (SceneUtility({sc}, 1)) -). > To decide which time is the time when (sc - scene) began > (documented at ph_scenetimewhenbegan): > (- (SceneUtility({sc}, 2)) -). > To decide which time is the time since (sc - scene) ended > (documented at ph_scenetimesinceended): > (- (SceneUtility({sc}, 3)) -). > To decide which time is the time when (sc - scene) ended > (documented at ph_scenetimewhenended): > (- (SceneUtility({sc}, 4)) -). > > Section SR5/5/7 - Model world - Player's identity and location > > To change the/-- player to (O - an object) > (deprecated) > (documented at ph_changeplayer_dep): > (- ChangePlayer({O}); -). > To decide whether in (somewhere - an object) > (deprecated) > (documented at ph_in_dep): 5456c5557 < Section SR5/5/9 - Model world - Moving and removing things --- > Section SR5/5/8 - Model world - Moving and removing things 5466,5476c5567,5577 < To move (O - object) backdrop to all (D - description) < (documented at ph_movebd): < (- MoveBackdrop({O}, {D}); -). < To update backdrop positions < (documented at ph_updatebp): < (- MoveFloatingObjects(); -). < < Section SR5/5/10 - Model world - The map < < To decide which room is location of (O - object) < (documented at ph_locof): --- > To move (O - object) backdrop to all (D - description of objects) > (documented at ph_movebackdrop): > (- MoveBackdrop({O}, {D}); -). > To update backdrop positions > (documented at ph_updatebackdrop): > (- MoveFloatingObjects(); -). > > Section SR5/5/9 - Model world - The map > > To decide which room is location of (O - object) > (documented at ph_locationof): 5482,5493c5583,5598 < (documented at ph_roomdirof): < (- DoorFrom({R1},{D}) -). < To decide which object is the other side of (D - door) from (R1 - room): < (- OtherSideOfDoor({D},{R1}) -). < To decide which object is the direction of (D - door) from (R1 - room): < (- DirectionDoorLeadsIn({D},{R1}) -). < To decide which object is room-or-door (D - direction) from/of (R1 - room): < (- RoomOrDoorFrom({R1},{D}) -). < To change (D - direction) exit of (R1 - room) to (R2 - room) < (documented at ph_changex): < (- AssertMapConnection({R1},{D},{R2}); -). < To change (D - direction) exit of (R1 - room) to nothing/nowhere: --- > (documented at ph_doordirof): > (- DoorFrom({R1},{D}) -). > To decide which object is the other side of (D - door) from (R1 - room) > (documented at ph_othersideof): > (- OtherSideOfDoor({D},{R1}) -). > To decide which object is the direction of (D - door) from (R1 - room) > (documented at ph_directionofdoor): > (- DirectionDoorLeadsIn({D},{R1}) -). > To decide which object is room-or-door (D - direction) from/of (R1 - room) > (documented at ph_roomordoor): > (- RoomOrDoorFrom({R1},{D}) -). > To change (D - direction) exit of (R1 - room) to (R2 - room) > (documented at ph_changeexit): > (- AssertMapConnection({R1},{D},{R2}); -). > To change (D - direction) exit of (R1 - room) to nothing/nowhere > (documented at ph_changenoexit): 5498,5501c5603,5607 < To decide which room is the back side of (D - object): < (- BackSideOfDoor({D}) -). < < Section SR5/5/11 - Model world - Route-finding --- > To decide which room is the back side of (D - object) > (documented at ph_backside): > (- BackSideOfDoor({D}) -). > > Section SR5/5/10 - Model world - Route-finding 5508,5519c5614,5628 < using doors or using even locked doors: < (- MapRouteTo({R1},{R2},0,{phrase options},true) -). < To decide which object is best route from (R1 - object) to (R2 - object) through < (RS - description), < using doors or using even locked doors: < (- MapRouteTo({R1},{R2},{RS},{phrase options}) -). < To decide which number is number of moves from (R1 - object) to (R2 - object) through < (RS - description), < using doors or using even locked doors: < (- MapRouteTo({R1},{R2},{RS},{phrase options},true) -). < < Section SR5/5/12 - Model world - The object tree --- > using doors or using even locked doors > (documented at ph_bestroutelength): > (- MapRouteTo({R1},{R2},0,{phrase options},true) -). > To decide which object is best route from (R1 - object) to (R2 - object) through > (RS - description of objects), > using doors or using even locked doors > (documented at ph_bestroutethrough): > (- MapRouteTo({R1},{R2},{RS},{phrase options}) -). > To decide which number is number of moves from (R1 - object) to (R2 - object) through > (RS - description of objects), > using doors or using even locked doors > (documented at ph_bestroutethroughlength): > (- MapRouteTo({R1},{R2},{RS},{phrase options},true) -). > > Section SR5/5/11 - Model world - The object tree 5524,5527c5633,5645 < To decide which object is next thing held after (something - object): < (- (sibling({something})) -). < To decide which object is first thing held by (something - object): < (- (child({something})) -). --- > To decide which object is next thing held after (something - object) > (documented at ph_nextheld): > (- (sibling({something})) -). > To decide which object is first thing held by (something - object) > (documented at ph_firstheld): > (- (child({something})) -). > > Section SR5/5/12 - Model world - Score > > To award (some - number) point/points > (deprecated) > (documented at ph_awardpoints_dep): > (- score=score+{some}; -). 5538,5545c5656,5665 < (documented at act_reading): < (- (SnippetMatches({S}, {T})) -). < To decide if (S - a snippet) does not match (T - a topic) < (documented at act_reading): < (- (SnippetMatches({S}, {T}) == false) -). < To decide if (S - a snippet) includes (T - a topic): < (- (matched_text=SnippetIncludes({T},{S})) -). < To decide if (S - a snippet) does not include (T - a topic): --- > (documented at ph_snippetmatches): > (- (SnippetMatches({S}, {T})) -). > To decide if (S - a snippet) does not match (T - a topic) > (documented at ph_snippetdoesnotmatch): > (- (SnippetMatches({S}, {T}) == false) -). > To decide if (S - a snippet) includes (T - a topic) > (documented at ph_snippetincludes): > (- (matched_text=SnippetIncludes({T},{S})) -). > To decide if (S - a snippet) does not include (T - a topic) > (documented at ph_snippetdoesnotinclude): 5551,5557c5671,5680 < (documented at act_reading): < (- SetPlayersCommand({-pointer-to:txb}); -). < To replace (S - a snippet) with (T - text): < (- SpliceSnippet({S}, {T}); -). < To cut (S - a snippet): < (- SpliceSnippet({S}, 0); -). < To reject the player's command: --- > (documented at ph_changecommand): > (- SetPlayersCommand({-pointer-to:txb}); -). > To replace (S - a snippet) with (T - text) > (documented at ph_replacesnippet): > (- SpliceSnippet({S}, {T}); -). > To cut (S - a snippet) > (documented at ph_cutsnippet): > (- SpliceSnippet({S}, 0); -). > To reject the player's command > (documented at ph_rejectcommand): 5563,5653c5686,5704 < (documented at ph_scope): < (- PlaceInScope({O}, {phrase options}); -). < To place the/-- contents of (O - an object) in scope < (documented at ph_scope): < (- ScopeWithin({O}); -). < To set pronouns from possessions of the player: < (- PronounNoticeHeldObjects(); -). < To set pronouns from (O - an object): < (- PronounNotice({O}); -). < < Section SR5/6/5 - Understanding - I6 parser errors < < To decide whether parser error is didn't understand < (documented at act_parsererror): < (- (etype == STUCK_PE) -). < To decide whether parser error is only understood as far as: < (- (etype == UPTO_PE) -). < To decide whether parser error is didn't understand that number: < (- (etype == NUMBER_PE) -). < To decide whether parser error is can't see any such thing: < (- (etype == CANTSEE_PE) -). < To decide whether parser error is said too little: < (- (etype == TOOLIT_PE) -). < To decide whether parser error is aren't holding that: < (- (etype == NOTHELD_PE) -). < To decide whether parser error is can't use multiple objects: < (- (etype == MULTI_PE) -). < To decide whether parser error is can only use multiple objects: < (- (etype == MMULTI_PE) -). < To decide whether parser error is not sure what it refers to: < (- (etype == VAGUE_PE) -). < To decide whether parser error is excepted something not included: < (- (etype == EXCEPT_PE) -). < To decide whether parser error is can only do that to something animate: < (- (etype == ANIMA_PE) -). < To decide whether parser error is not a verb I recognise: < (- (etype == VERB_PE) -). < To decide whether parser error is not something you need to refer to: < (- (etype == SCENERY_PE) -). < To decide whether parser error is can't see it at the moment: < (- (etype == ITGONE_PE) -). < To decide whether parser error is didn't understand the way that finished: < (- (etype == JUNKAFTER_PE) -). < To decide whether parser error is not enough of those available: < (- (etype == TOOFEW_PE) -). < To decide whether parser error is nothing to do: < (- (etype == NOTHING_PE) -). < To decide whether parser error is I beg your pardon: < (- (etype == BLANKLINE_PE) -). < To decide whether parser error is noun did not make sense in that context: < (- (etype == NOTINCONTEXT_PE) -). < < Section SR5/7/1 - Using external resources - Files < < To read (filename - external-file) into (T - table-name) < (documented at ph_filetables): < (- FileIO_GetTable({filename}, {T}); -). < To write (filename - external-file) from (T - table-name): < (- FileIO_PutTable({filename}, {T}); -). < To decide if (filename - external-file) exists: < (- (FileIO_Exists({filename}, false)) -). < To decide if ready to read (filename - external-file) < (documented at ph_readytr): < (- (FileIO_Ready({filename}, false)) -). < To mark (filename - external-file) as ready to read: < (- FileIO_MarkReady({filename}, true); -). < To mark (filename - external-file) as not ready to read: < (- FileIO_MarkReady({filename}, false); -). < To write (T - text) to (FN - external-file) < (documented at ph_writef): < (- FileIO_PutContents({FN}, {-allow-stack-frame-access:T}, false); -). < To append (T - text) to (FN - external-file): < (- FileIO_PutContents({FN}, {-allow-stack-frame-access:T}, true); -). < To say text of (FN - external-file): < (- FileIO_PrintContents({FN}); say__p = 1; -). < < Section SR5/7/2 - Using external resources - Figures and sound effects < < To display (F - figure-name), one time only < (documented at ph_displayf): < (- DisplayFigure({F}, {phrase options}); -). < To play (SFX - sound-name), one time only < (documented at ph_playsf): < (- PlaySound({SFX}, {phrase options}); -). < < Section SR5/8/1 - Message support - Issuance - Unindexed < < To stop the action with library message (AN - an action-name) number < (N - a number) for (H - an object): < (- return GL__M({AN},{N},{H}); -) - in to only. < To stop the action with library message (AN - an action-name) number --- > (documented at ph_placeinscope): > (- PlaceInScope({O}, {phrase options}); -). > To place the/-- contents of (O - an object) in scope > (documented at ph_placecontentsinscope): > (- ScopeWithin({O}); -). > To set pronouns from (O - an object) > (documented at ph_setpronouns): > (- PronounNotice({O}); -). > To set pronouns from possessions of the player > (deprecated) > (documented at ph_setpronouns_dep): > (- PronounNoticeHeldObjects(); -). > > Section SR5/8/1 - Message support - Issuance - Unindexed > > To stop the action with library message (AN - an action name) number > (N - a number) for (H - an object): > (- return GL__M({AN},{N},{H}); -) - in to only. > To stop the action with library message (AN - an action name) number 5658,5669c5709,5725 < To issue library message (AN - an action-name) number < (N - a number) for (H - an object): < (- GL__M({AN},{N},{H}); -). < To issue library message (AN - an action-name) number (N - a number): < (- GL__M({AN},{N},noun); -). < To issue actor-based library message (AN - an action-name) number < (N - a number) for (H - an object) and (H2 - an object): < (- AGL__M({AN},{N},{H},{H2}); -). < To issue actor-based library message (AN - an action-name) number < (N - a number) for (H - an object): < (- AGL__M({AN},{N},{H}); -). < To issue actor-based library message (AN - an action-name) number (N - a number): --- > To issue miscellaneous library message number (N - a number) for (H - an object): > (- GL__M(##Miscellany,{N}, {H}); -). > To issue library message (AN - an action name) number > (N - a number) for (H - an object): > (- GL__M({AN},{N},{H}); -). > To issue library message (AN - an action name) number > (N - a number) for (H - an object) and (H2 - an object): > (- GL__M({AN},{N},{H},{H2}); -). > To issue library message (AN - an action name) number (N - a number): > (- GL__M({AN},{N},noun); -). > To issue actor-based library message (AN - an action name) number > (N - a number) for (H - an object) and (H2 - an object): > (- AGL__M({AN},{N},{H},{H2}); -). > To issue actor-based library message (AN - an action name) number > (N - a number) for (H - an object): > (- AGL__M({AN},{N},{H}); -). > To issue actor-based library message (AN - an action name) number (N - a number): 5680c5736 < The library message action is an action-name that varies. --- > The library message action is an action name that varies. 5728,5729d5784 < To decide if (O - object) goes undescribed by source text: < (- ({O}.description == 0) -). 5741,5743c5795,5797 < To convert to (AN - an action-name) on (O - an object): < (- return GVS_Convert({AN},{O},0); -) - in to only. < To convert to request of (X - object) to perform (AN - action-name) with --- > To convert to (AN - an action name) on (O - an object): > (- return GVS_Convert({AN},{O},0); -) - in to only. > To convert to request of (X - object) to perform (AN - action name) with 5756a5810,5812 > To ***: > (- {-verbose-checking} -). >