//	Inform source comments for the Annotated Adventure

var c01 = 'An exclamation mark introduces a comment, which extends to the end of the line.';
var c02 = '"..." (as a statement) outputs text to the terminal, followed by a newline, then returns True from the current routine.';
var c03 = '"..." (not as a statement) surround the declaration of a text string constant.';
var c04 = 'Double ampersand joins two elements into a boolean expression which is True only if both elements are True.';
var c05 = 'A system variable which contains the current score. Double plus increments by 1 in an expression; <b>score++</b> and <b>score=score+1</b> are equivalent.';
var c06 = 'A semi-colon terminates an Inform statement.';
var c07 = 'Comparison evaluates to True if the two arguments are equal.';
var c08 = '[...] surround the declaration of a <b>routine</b>: a self-contained code fragment which does some processing and returns a value.';
var c09 = 'A circumflex in a printed string outputs a newline character; Similarly, a tilde outputs a double-quotes character. Use @@94 for a literal circumflex, @@126 for a literal tilde.';
var c10 = '{...} surround multiple statements to form a \'code block\' which is treated as a single statement.';
var c11 = 'Comparison evaluates to True if the two arguments are unequal.';
var c12 = 'The value of an <b>action</b> as a numeric constant.';
var c13 = 'A room property which receives every <b>action</b> which occurs here, after it has happened.  Generally contains rules to be applied to certain actions, supplementing their default behaviour.';
var c14 = 'A system variable containing the current <b>action</b>.';
var c15 = 'A room property which receives every <b>action</b> which occurs here, before it has happened. Generally contains rules to be applied to certain actions, supplementing or altering their default behaviour.';
var c16 = 'An object attribute denoting that the object is capable of being worn.';
var c17 = 'A compile-time directive which defines a global constant. If the value is omitted, the constant is created with a value of zero.';
var c18 = 'A system variable which, if its value is set non-zero, ends the game after that turn. Can be set to 1 ("You have died"), 2 ("You have won"), 3 or more to indicate an alternative ending (by calling <b>DeathMessage</b>).';
var c19 = 'An optional routine. If defined, called when the player has died and <b>deadflag</b> is 3 or more.';
var c20 = 'Represents any <b>action</b> which hasn\'t already been explicitly intercepted.';
var c21 = 'An object property. For a room, this gives its long description (output when you first enter the room, in Verbose mode, and by Look). Otherwise, this is what\'s output by Examine.';
var c22 = 'A Library <b>action</b> (used inside the game) which is invoked when the player types one of the English <b>verbs</b> "DISCARD" "DROP" "PUT DOWN" "THROW".';
var c23 = 'A property of a room, defining a possible exit. Generally the name of another room, but may instead be a string or a routine. As well as <b>n_to</b>, <b>ne_to</b>, <b>e_to</b>, <b>se_to</b>, <b>s_to</b>, <b>sw_to</b>, <b>w_to</b> and <b>nw_to</b>, you can use <b>u_to</b> and <b>d_to</b>, also <b>in_to</b> and <b>out_to</b>.';
var c24 = 'A general-purpose attribute flag associated with every object, which is freely available for use by the program. Here used for incrementing the score only the first time that the cloak is placed on the hook.';
var c25 = 'Associates an attribute with the object at run-time. If an attribute is introduced by "~", removes that attribute association from the object.';
var c26 = 'Every game must Include this Library file containing Inform\'s English grammar.';
var c27 = 'A Library <b>action</b> (used inside the game) which is invoked when the player types one of the English <b>verbs</b> "GO" "LEAVE" "RUN" "WALK".';
var c28 = 'Introduces the list of <b>attributes</b> for this object. The Library defines about 30 standard attributes which may be applied (though most objects use only a few). Each attribute has a name, but no value; they are logical flags which are either present or absent.';
var c29 = 'Comparison evaluates to True if the object does not currently have that associated attribute.';
var c30 = 'A system constant, required in every game, which gives the game style, copyright information, and so on.';
var c31 = 'Comparison evaluates to True if the object currently has that associated attribute.';
var c32 = 'Executes a single statement if the expression in parentheses is True; optionally, using <b>else</b>, executes another statement if the expression is False. Each statement can be a code block enclosed in {...}.';
var c33 = 'A compile-time directive which includes the contents of a source file into the program being compiled. The file\'s "h" extension can be omitted.';
var c34 = 'A routine which is automatically called at the start of a game. Must assign an appropriate <b>location</b> for the player.';
var c35 = 'An attribute denoting that an object or room is giving off light.';
var c36 = 'A system variable which contains the player\'s current room, unless that room is dark, when it contains <b>thedark</b> (and <b>real_location</b> contains the room).';
var c37 = 'An optional system constant which makes pronouns like "it" and "them" refer only to what the player has typed. To get this behaviour just define the constant; its value is immaterial.';
var c38 = 'An optional system constant giving the game\'s maximum score. The default is 0.';
var c39 = 'Relocates an object in the object-tree, making it a child of the <b>to</b> object.';
var c40 = 'An object property defining one or more words which are added to the Inform dictionary. These are used by the Parser to determine which object the player is referring to.';
var c41 = 'A system variable which contains the object (or occasionally number) which is the primary focus of the current <b>action</b>.';
var c42 = 'A system object representing the northerly direction.';
var c43 = 'A general-purpose property associated with every object, which is freely available for use by the program. Here used for measuring the disturbance of the message by actions in the dark.';
var c44 = 'Every game must Include this Library file containing the program which parses what the player types.';
var c45 = 'A system variable which contains the object which is undertaking the game on behalf of the human player.';
var c46 = 'Outputs text to the terminal.';
var c47 = 'A Library <b>action</b> (used inside the game) which is invoked when the player types one of the English <b>verbs</b> "DISCARD ON|ONTO" "DROP ON|ONTO" "PUT ON|ONTO" "THROW ON|ONTO", also (in this game) "HANG ON".';
var c48 = 'A Library routine which returns its argument\'s parent - that is, the object which is containing or supporting it.';
var c49 = 'Another way of referring to the object currently being defined (in this case, the <b>hook</b>).';
var c50 = 'An object attribute denoting other objects can be placed on it (by the PutOn action).';
var c51 = 'A system constant, required in every game, which gives the game\'s title.';
var c52 = 'An attribute which marks an object as being fixed in place, and to be excluded when listing the room\'s contents.';
var c53 = 'A Library <b>action</b> (used inside the game) which is invoked when the player types one of the English <b>verbs</b> "CARRY" "GET" "HOLD" "PEEL [OFF]" "PICK UP" "REMOVE" "TAKE".';
var c54 = 'Adds to the game\'s repertoire of verbs. Here support is added for a sentence like <b>HANG THE</b> <i>object_being_held</i> <b>ON THE</b> <i>object_in_the_room</i>, which will be handled by the existing <b>PutOn</b> action.';
var c55 = 'Every game must Include this Library file containing the actions associated with English verbs.';
var c56 = 'Introduces the list of <b>properties</b> for this object. The Library defines about 50 standard properties which may be applied (though most objects use only a few). Each property has a name and a value, with commas between each name/value pair.';
var c57 = 'An attribute denoting an object with the <b>clothing</b> attribute is currently being worn.';
var c58 = 'An object definition comprises a <b>head</b> (the first line) and <b>body</b>. The head has the object\'s internal and external names, and (optionally, not in this case) the internal name of the parent object. The body contains properties (<b>with</b>...) and attributes (<b>has</b>...).';
var c59 = 'This object has an internal name of <b>foyer</b>, by which other objects refer to it (e.g. the <b>cloakroom</b> includes <b>e_to foyer</b>).';
var c60 = 'The object\'s external name is used when the game is played. For a room, it\'s displayed when the player is in that room; otherwise, it\'s displayed when an object is mentioned.';
var c61 = 'This object has a third value in its head, giving the internal name of its <b>parent</b>. That is, the <b>hook</b> is to be found in the <b>cloakroom</b>. Some objects move around (i.e. change parent) during the course of a game, others (this, for example) always stay in the same place.';
var c62 = 'A reference to the <b>number</b> property of the <b>message</b> object.';
var c63 = 'The bar does <i>not</i> have a <b>light</b> attribute, and so is initially unlit. This statement is strictly unnecessary, since attributes are absent unless explicitly specified, but is used here for clarity and completeness.';
