Link all the page references to their correct places.
[ibg.git] / chapters / 07.rst
index 4a8031b369df988dd1ba045d6ded4218b7557950..9e928a32e898d745ea1377d30433f4ae07f42881 100644 (file)
@@ -141,6 +141,8 @@ hasnt visited)``, you'll have to change that as well.  Worse, if you
 *forget* to change it, the game will still work -- but not in the way you'd
 intended, and the resulting bug will be quite difficult to track down.
 
+.. _adding-props:
+
 Adding some props
 =================
 
@@ -259,6 +261,8 @@ true if *any* of those individual tests is true.  And in the third example
 we introduce the ``or`` keyword, which is a more succinct way of achieving
 exactly the same result.
 
+.. _possessions:
+
 The player's possessions
 ========================
 
@@ -492,7 +496,7 @@ interaction.  Additionally, a new ``life`` property -- very similar to
 ``before`` -- can be defined to intercept them.  Here we use it to trap
 speech-related commands such as ASK HELGA ABOUT APPLE and TELL WALTER ABOUT
 BABIES, telling players that in this game we've implemented only a simpler
-TALK verb (which we describe in "Verbs, verbs, verbs" on page 111).
+TALK verb (which we describe in :ref:`verbs`).
 
 Based on the NPC class we've created, here's Helga::
 
@@ -538,8 +542,7 @@ scored; when it changes like this, the interpreter tells the player that
 "Your score has just gone up by one point".
 
 There are also ``life`` and ``times_spoken_to`` properties (which we'll
-talk about in "William Tell: the end is nigh" on page 103) and an
-``initial`` property.
+talk about in :doc:`09`) and an ``initial`` property.
 
 ``initial`` is used when the interpreter is describing a room and listing
 the objects initial you can see there.  If we *didn't* define it, you'd get
@@ -619,7 +622,7 @@ we *could* write two ``if`` statements::
           enough. How's Frau Tell? Give her my best wishes.~^";
 
 but that's unbearably clumsy; instead, we use the braces to group the
-``move`` and ``print`` statement into a **statement block** (sometimes
+``move`` and ``print`` statement into a :term:`statement block` (sometimes
 known as a code block) which counts as a single statement for the purposes
 of control by the ``if`` statement. ::
 
@@ -702,5 +705,5 @@ neatly::
 We've done a lot of scene-setting, but the real action is still to come.
 Next, it's time to define the town square, and create a confrontation
 between Wilhelm and the vogt's soldiers.  (But first, see again
-"Compile-as-you-go" on page 233 if you're typing in the game as you read
-through the guide.)
+:ref:`compile-as-you-go` if you're typing in the game as you read through
+the guide.)