From ec34c09e2c682dc9dbf53730f5a7d29d8f9adc28 Mon Sep 17 00:00:00 2001 From: Jason Self Date: Sun, 2 Jun 2019 16:22:28 -0700 Subject: [PATCH] Finish adding Library routines --- inflibqr/inflibqr.md | 90 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/inflibqr/inflibqr.md b/inflibqr/inflibqr.md index 713e86a..616909b 100644 --- a/inflibqr/inflibqr.md +++ b/inflibqr/inflibqr.md @@ -191,4 +191,92 @@ objects. NextWord() - Returns the next dictionary word in the input stream, incrementing *wn* by one. Returns `false` if the word is not in the -dictionary, or if the input stream is exhausted. \ No newline at end of file +dictionary, or if the input stream is exhausted. + +NextWordStopped() - Returns the next dictionary word in the input +stream, incrementing `wn` by one. Returns `false` if the word is not +in the dictionary, -1 if the input stream is exhausted. + +NounDomain(*object1*,*object2*,*type*) - Performs object parsing; see +also ParseToken(). + +ObjectIsUntouchable(*object*,*flag*) - Tests if there is a barrier - a +container object which is not open - between player and object. Unless +the optional flag is true, outputs "You can't because ... is in the +way". Returns true is a barrier is found, otherwise false. + +OffersLight(*object*) - Returns `true` if the object offers light. + +ParseToken(*type*,*value*) - Performs general parsing; see also +`NounDomain()`. + +PlaceInScope(*object*) - Used in an `add_to_scope` property or +`scope=` token to put the *object* into scope for the parser. + +PlayerTo(*object*,*flag*) - Moves the player to *object*. Prints its +description unless optional *flag* is 1 (no description) or 2 (as if +walked in). + +PrintOrRun(object,property,flag) - If *object.property* is a string, +output it (followed by a newline unless optional flag is true), and +return *true*. If it's a routine, run it and return what the routine +returns. + +PronounNotice(*object*) - Associates an appropriate pronoun with the +*object*. + +PronounValue('*pronoun*') - Returns the object to which '`it`' (or +'`him`', '`her`', '`them`') currently refers, or `nothing`. + +ScopeWithin(*object*) - Used in an `add_to_scope` property or `scope=` +token to put the contents of the object in scope for the parser. + +SetPronoun('*pronoun*',*object) - Defines the *object* to which a +given *pronoun* refers. + +SetTime(*expr1*,*expr2*) - Sets `the_time` to *expr1* (in mins 0..1439 +since midnight), running at *expr2* (positive: expr2 minutes pass each +turn; negative: expr2 turns take one minute; zero: time stands still). + +StartDaemon(*object*) - Starts the *object*'s daemon. + +StartTimer(*object*,*expr*) - Starts the *object*'s timer, +initialising its `time_left` to *expr. The object's `time_out` +property will be called after that number of turns have elapsed. + +StopDaemon(*object*) - Stops the *object*'s daemon. + +StopTimer(object) - Stops the *object*'s timer. + +TestScope(*object*,*actor*) - Returns `true` if the object is in +scope, otherwise `false`. If the optional *actor* is supplied, that +defines the scope. + +TryNumber(*expr*) - Parses word *expr* in the input stream as a +number, recognising decimals, also English words one..twenty. Returns +the number 1..10000, or -1000 if the parse fails. + +UnsignedCompare(*expr1*,*expr2*) - Returns -1 if *expr1* is less than +*expr2*, 0 if *expr1* equals *expr2*, and 1 if *expr1* is greater than +*expr2*. Both expressions are unsigned, in the range 0..65535. + +WordAddress(*expr*) - Returns a byte array contains the raw text of +word *expr* in the input stream. + +WordInProperty(word,object,property) - Returns `true` if the +dictionary *word* is listed in the *property* values for the *object*. + +WordLength(*expr*) - Returns the length of word *expr* in the input +stream. + +WriteListFrom(*object*,*expr*) - Outputs a list of *object* and its +siblings, in the given style, an *expr* formed by adding any of: +`ALWAYS_BIT`, `CONCEAL_BIT`, `DEFART_BIT`, `ENGLISH_BIT`, +`FULLINV_BIT`, `INDENT_BIT`, `ISARE_BIT`, `NEWLINE_BIT`, +`PARTINV_BIT`, `RECURSE_BIT`, `TERSE_BIT`, `WORKFLAG_BIT`. + +YesOrNo() - Returns `true` if the player types "YES", false for "NO". + +ZRegion(*arg*) - Returns the type of its *arg*: 3 for a string +address, 2 for a routine address, 1 for an object number, or 0 +otherwise. \ No newline at end of file -- 2.31.1