mirror of
https://github.com/ganelson/inform.git
synced 2024-07-08 18:14:21 +03:00
868 lines
200 KiB
HTML
868 lines
200 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Activities</title>
|
|
<meta name="viewport" content="width=device-width initial-scale=1">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta http-equiv="Content-Language" content="en-gb">
|
|
<link href="../inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
|
|
|
</head>
|
|
<body>
|
|
<nav role="navigation">
|
|
<h1><a href="../index.html">
|
|
<img src="../docs-src/Figures/Inform.png" height=72">
|
|
</a></h1>
|
|
<ul><li><a href="../compiler.html">compiler tools</a></li>
|
|
<li><a href="../other.html">other tools</a></li>
|
|
<li><a href="../extensions.html">extensions and kits</a></li>
|
|
<li><a href="../units.html">unit test tools</a></li>
|
|
</ul><h2>Extensions</h2><ul>
|
|
<li><a href="../basic_inform/index.html">basic_inform</a></li>
|
|
<li><a href="index.html"><span class="selectedlink">standard_rules</span></a></li>
|
|
</ul><h2>Kits</h2><ul>
|
|
<li><a href="../BasicInformKit/index.html">BasicInformKit</a></li>
|
|
<li><a href="../BasicInformExtrasKit/index.html">BasicInformExtrasKit</a></li>
|
|
<li><a href="../CommandParserKit/index.html">CommandParserKit</a></li>
|
|
<li><a href="../EnglishLanguageKit/index.html">EnglishLanguageKit</a></li>
|
|
<li><a href="../WorldModelKit/index.html">WorldModelKit</a></li>
|
|
|
|
</ul>
|
|
</nav>
|
|
<main role="main">
|
|
|
|
<!--Weave of 'Activities' generated by 7-->
|
|
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../extensions.html">Extensions</a></li><li><a href="index.html">srules</a></li><li><b>Activities</b></li></ul><p class="purpose">The built-in activities and their default stock of rules; and in particular, the locale description mechanism.</p>
|
|
|
|
<ul class="toc"><li><a href="#SP2">§2. Issuing responses</a></li><li><a href="#SP3">§3. Naming and listing</a></li><li><a href="#SP10">§10. Parsing activites</a></li><li><a href="#SP15">§15. Posthumous activities</a></li><li><a href="#SP22">§22. Locale activities</a></li><li><a href="#SP23">§23. Locale Implementation</a></li><li><a href="#SP24">§24. Printing the Locale Description</a></li><li><a href="#SP25">§25. Choosing Notable Locale Objects</a></li><li><a href="#SP26">§26. Printing a Locale Paragraph</a></li></ul><hr class="tocbar">
|
|
|
|
<p class="inwebparagraph"><a id="SP1"></a><b>§1. </b>These must not be created until the basic rulebooks are in place, because
|
|
creating any activity automatically creates three rulebooks as well.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The <code class="display"><span class="extract">srules</span></code> template expects the following activities to be created and in
|
|
this order. (That is, the order here must exactly match that of the <code class="display"><span class="extract">*_ACT</span></code>
|
|
constant definitions made in <code class="display"><span class="extract">Definitions.i6t</span></code>.) The activities are fairly
|
|
completely described in the Inform documentation, so the only notes here
|
|
concern implementation.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Part</span><span class="plain"> </span><span class="identifier">Four</span><span class="plain"> - </span><span class="identifier">Activities</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP2"></a><b>§2. Issuing responses. </b>Responses are textual replies made by rules, and while one could imagine
|
|
uses for them outside of an IF-like dialogue, they belong better in the
|
|
Standard Rules (i.e., as an aspect of IF) than in the general-purpose
|
|
language. So <code class="display"><span class="extract">STANDARD_RESPONSE_ISSUING_R</span></code> is in <code class="display"><span class="extract">srules</span></code>, not <code class="display"><span class="extract">basicinform</span></code>,
|
|
and we define:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">1</span><span class="plain"> - </span><span class="identifier">Responses</span>
|
|
|
|
<span class="identifier">Issuing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">text</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> -- </span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_resp</span><span class="plain"> -- </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span>
|
|
<span class="identifier">activity</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">responses</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">issuing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">text</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">issuing</span><span class="plain"> </span><span class="identifier">the</span>
|
|
<span class="identifier">response</span><span class="plain"> </span><span class="identifier">text</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">issuing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">text</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span>
|
|
<span class="string">"STANDARD_RESPONSE_ISSUING_R"</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP3"></a><b>§3. Naming and listing. </b>We start with a piece of unfinished business. The "printing the name"
|
|
activity was created by Basic Inform, but we need to add a rule to its
|
|
before rule which marks any item whose name is being printed with
|
|
the "mentioned" property, for reasons to be found below.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">2</span><span class="plain"> - </span><span class="identifier">Naming</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">Listing</span>
|
|
|
|
<span class="identifier">Before</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">name</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">being</span><span class="plain"> </span><span class="identifier">printed</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">make</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">expanding</span><span class="plain"> </span><span class="identifier">text</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">comparison</span><span class="plain"> </span><span class="identifier">purposes</span><span class="plain">, </span><span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">;</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">being</span><span class="plain"> </span><span class="identifier">printed</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_pan</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">) (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">standard</span>
|
|
<span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[listing group size in words] "</span><span class="plain">;</span>
|
|
<span class="identifier">carry</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">plural</span><span class="plain"> </span><span class="identifier">name</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">printing</span>
|
|
<span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">rulebook</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP4"></a><b>§4. </b>When they occur in room descriptions, names of things are sometimes
|
|
supplemented by details:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">details</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_details</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">inventory</span><span class="plain"> </span><span class="identifier">details</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_idetails</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP5"></a><b>§5. </b>Names of things are often formed up into lists, in which they are sometimes
|
|
grouped together:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Listing</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_lc</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">rulebook</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"STANDARD_CONTENTS_LISTING_R"</span><span class="plain">.</span>
|
|
<span class="identifier">Grouping</span><span class="plain"> </span><span class="identifier">together</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_gt</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP6"></a><b>§6. </b>And such lists of names are formed up in turn into room descriptions.
|
|
Something which is visible in a room can either have a paragraph of its own
|
|
or can be relegated to the list of "nondescript" items at the end.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Writing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_wpa</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP7"></a><b>§7. </b>When these paragraphs have all gone by, the nondescript items left over are
|
|
more briefly listed: the following activity gets the chance to change how
|
|
this is done.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Listing</span><span class="plain"> </span><span class="identifier">nondescript</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_lni</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP8"></a><b>§8. </b>Darkness behaves, for room description purposes, a little as if it were a
|
|
room in its own right. Until the 1990s that was almost always how darkness
|
|
was implemented in IF programs: this persists in I6, but not I7, where the
|
|
existence of a room-which-is-not-a-room would break type safety.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">name</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">dark</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_darkname</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">dark</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_darkdesc</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">announcement</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">darkness</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_nowdark</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">announcement</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">light</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_nowlight</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">refusal</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="identifier">act</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">dark</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_toodark</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">look</span><span class="plain"> </span><span class="identifier">around</span><span class="plain"> </span><span class="identifier">once</span><span class="plain"> </span><span class="identifier">light</span><span class="plain"> </span><span class="identifier">available</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span>
|
|
<span class="identifier">announcement</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">light</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">This</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">look</span><span class="plain"> </span><span class="identifier">around</span><span class="plain"> </span><span class="identifier">once</span><span class="plain"> </span><span class="identifier">light</span><span class="plain"> </span><span class="identifier">available</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">:</span>
|
|
<span class="identifier">try</span><span class="plain"> </span><span class="identifier">looking</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP9"></a><b>§9. </b>Two special forms of printing: the status line at the top of the screen,
|
|
refreshed every turn during play, and the banner which appears at or close
|
|
to the start of play:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Constructing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">status</span><span class="plain"> </span><span class="identifier">line</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_csl</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">banner</span><span class="plain"> </span><span class="identifier">text</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_banner</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP10"></a><b>§10. Parsing activites. </b>Now a brace of activities to intervene in how the command parser does its
|
|
parsing, arranged roughly in chronological order of their typical use
|
|
during a single turn of a typed command, its parsing, and final conversion
|
|
into an action.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The unusual notation "(future action)" here allows Inform to parse rule
|
|
preambles for these activities in a way which would refer to the action which
|
|
might, at some point in the future, be generated — during parsing we don't of
|
|
course yet know what that action is, but there is always a current guess at
|
|
what it might be.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">3</span><span class="plain"> - </span><span class="identifier">Command</span><span class="plain"> </span><span class="identifier">parsing</span>
|
|
|
|
<span class="identifier">Reading</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">command</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_reading</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Deciding</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">scope</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">future</span><span class="plain"> </span><span class="identifier">action</span><span class="plain">) (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_ds</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Deciding</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">concealed</span><span class="plain"> </span><span class="identifier">possessions</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_con</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">future</span><span class="plain"> </span><span class="identifier">action</span><span class="plain">) (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_all</span><span class="plain">)</span>
|
|
<span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">rules</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> </span><span class="identifier">outcomes</span><span class="plain"> </span><span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> (</span><span class="identifier">failure</span><span class="plain">) </span><span class="identifier">and</span>
|
|
<span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> (</span><span class="identifier">success</span><span class="plain">).</span>
|
|
<span class="identifier">Clarifying</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">parser</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">choice</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">future</span><span class="plain"> </span><span class="identifier">action</span><span class="plain">) (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_clarify</span><span class="plain">)</span>
|
|
<span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Asking</span><span class="plain"> </span><span class="identifier">which</span><span class="plain"> </span><span class="identifier">do</span><span class="plain"> </span><span class="identifier">you</span><span class="plain"> </span><span class="identifier">mean</span><span class="plain"> (</span><span class="identifier">future</span><span class="plain"> </span><span class="identifier">action</span><span class="plain">) (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_which</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">parser</span><span class="plain"> </span><span class="identifier">error</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_parsererror</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Supplying</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">missing</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_smn</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Supplying</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">missing</span><span class="plain"> </span><span class="identifier">second</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_smn</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">Implicitly</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_implicitly</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP11"></a><b>§11. </b>Here are the default rules for the behaviour of ALL:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">off</span><span class="plain"> </span><span class="identifier">or</span>
|
|
<span class="identifier">removing</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">exclude</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">take</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">): </span><span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain">.</span>
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">people</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">off</span><span class="plain"> </span><span class="identifier">or</span>
|
|
<span class="identifier">removing</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">exclude</span><span class="plain"> </span><span class="identifier">people</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">take</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">): </span><span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain">.</span>
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">fixed</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">place</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">or</span>
|
|
<span class="identifier">taking</span><span class="plain"> </span><span class="identifier">off</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">removing</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">exclude</span><span class="plain"> </span><span class="identifier">fixed</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">place</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">from</span>
|
|
<span class="identifier">take</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">): </span><span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain">.</span>
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">enclosed</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">person</span><span class="plain"> </span><span class="identifier">reaching</span>
|
|
<span class="identifier">while</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">off</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">removing</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">exclude</span><span class="plain"> </span><span class="identifier">indirect</span>
|
|
<span class="identifier">possessions</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">take</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">): </span><span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain">.</span>
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">deciding</span><span class="plain"> </span><span class="identifier">whether</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">includes</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">person</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">dropping</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">throwing</span>
|
|
<span class="identifier">or</span><span class="plain"> </span><span class="identifier">inserting</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">putting</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">exclude</span><span class="plain"> </span><span class="identifier">people</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">drop</span><span class="plain"> </span><span class="identifier">all</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">it</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP12"></a><b>§12. </b>The supplying activities are linguistically interesting, for reasons gone
|
|
into in the paper "Interactive Fiction, Natural Language and Semantic
|
|
Analysis": English verbs do not naturally seem to feature optional nouns.
|
|
Indeed, we say "it rained on Tuesday" where "it" refers to nothing at all,
|
|
merely because we can't bring ourselves to leave a gap and say just "rained
|
|
on Tuesday". A better example here would be "it sounded like rain", because
|
|
we do the same to convey the idea of listening ambiently rather than to
|
|
any single thing: listening appears to be rare among actions in that it can
|
|
equally well take a noun as not. Just as English handles this problem by
|
|
supplying a spurious "it" which appears to mean "the world at large",
|
|
so Inform handles it by supplying the current location, with the same idea
|
|
in mind. And the same applies to the sense of smell, which can be similarly
|
|
defocused.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">supplying</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">missing</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">actor</span><span class="plain"> </span><span class="identifier">smelling</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">ambient</span><span class="plain"> </span><span class="identifier">odour</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">touchability</span><span class="plain"> </span><span class="identifier">ceiling</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">supplying</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">missing</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">actor</span><span class="plain"> </span><span class="identifier">listening</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">ambient</span><span class="plain"> </span><span class="identifier">sound</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">touchability</span><span class="plain"> </span><span class="identifier">ceiling</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP13"></a><b>§13. </b>The following rule is something of a dodge to provide a better parser
|
|
response to commands like GO or BRETT, GO. (Putting the rule here, and giving
|
|
it a name, allows the user to override it and thus accept the idea of vague
|
|
going after all.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Rule</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">supplying</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">missing</span><span class="plain"> </span><span class="identifier">noun</span><span class="plain"> </span><span class="identifier">while</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">actor</span><span class="plain"> </span><span class="identifier">going</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">block</span><span class="plain"> </span><span class="identifier">vaguely</span><span class="plain"> </span><span class="identifier">going</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"You'll have to say which compass direction to go in."</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">).</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP14"></a><b>§14. </b>Implicit taking is delegated to the I6 template:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">implicit</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">implicitly</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">implicit</span><span class="plain"> </span><span class="identifier">taking</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"STANDARD_IMPLICIT_TAKING_R"</span><span class="plain"> </span><span class="identifier">with</span>
|
|
<span class="string">"(first taking [the noun])[command clarification break]"</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">),</span>
|
|
<span class="string">"([the second noun] first taking [the noun])[command clarification break]"</span><span class="plain"> (</span><span class="identifier">B</span><span class="plain">).</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP15"></a><b>§15. Posthumous activities. </b>The very last rules of all. The obituary is a rare example of a
|
|
sequence of events in the I6 library having been rolled up into an
|
|
activity, partly because it's one of the few clear-cut moments where
|
|
several unconnected things happen in succession.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">4</span><span class="plain"> - </span><span class="identifier">Posthumous</span><span class="plain"> </span><span class="identifier">activities</span>
|
|
|
|
<span class="identifier">Amusing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">victorious</span><span class="plain"> </span><span class="identifier">player</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_amuse</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">obituary</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_obit</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">obituary</span><span class="plain"> </span><span class="identifier">headline</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">obituary</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">score</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">obituary</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">display</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">status</span><span class="plain"> </span><span class="identifier">line</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">obituary</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">obituary</span><span class="plain"> </span><span class="identifier">headline</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"PRINT_OBITUARY_HEADLINE_R"</span>
|
|
<span class="identifier">with</span><span class="plain"> </span><span class="string">" You have died "</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">),</span>
|
|
<span class="string">" You have won "</span><span class="plain"> (</span><span class="identifier">B</span><span class="plain">),</span>
|
|
<span class="string">" The End "</span><span class="plain"> (</span><span class="identifier">C</span><span class="plain">).</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">score</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"PRINT_FINAL_SCORE_R"</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">display</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">status</span><span class="plain"> </span><span class="identifier">line</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"DISPLAY_FINAL_STATUS_LINE_R"</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP16"></a><b>§16. </b>There is one last question: the one which usually reads "Would you like to
|
|
RESTART, RESTORE a saved game, or QUIT?", but which sometimes provides other
|
|
options too. The "ask the final question rule" handles this, and does so
|
|
by repeatedly calling the following activity:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Handling</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP17"></a><b>§17. </b>It follows that this activity must at least sometimes do something dramatic
|
|
to the execution state: perform a quit, for instance. Four primitive rules are
|
|
available for the drastic things which the activity might wish to do, but
|
|
these are not placed in any rulebook: instead they are available for anyone
|
|
who wants to call them. (In the default implementation below, we put
|
|
references to them into a table.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">restart</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">VM</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"IMMEDIATELY_RESTART_VM_R"</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">restore</span><span class="plain"> </span><span class="identifier">saved</span><span class="plain"> </span><span class="identifier">game</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"IMMEDIATELY_RESTORE_SAVED_R"</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">quit</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"IMMEDIATELY_QUIT_R"</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">undo</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"IMMEDIATELY_UNDO_R"</span><span class="plain"> </span><span class="identifier">with</span>
|
|
<span class="string">"The use of 'undo' is forbidden in this story."</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">),</span>
|
|
<span class="string">"You can't 'undo' what hasn't been done!"</span><span class="plain"> (</span><span class="identifier">B</span><span class="plain">),</span>
|
|
<span class="string">"Your interpreter does not provide 'undo'. Sorry!"</span><span class="plain"> (</span><span class="identifier">C</span><span class="plain">),</span>
|
|
<span class="string">"'Undo' failed. Sorry!"</span><span class="plain"> (</span><span class="identifier">D</span><span class="plain">),</span>
|
|
<span class="string">"[bracket]Previous turn undone.[close bracket]"</span><span class="plain"> (</span><span class="identifier">E</span><span class="plain">),</span>
|
|
<span class="string">"'Undo' capacity exhausted. Sorry!"</span><span class="plain"> (</span><span class="identifier">F</span><span class="plain">).</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP18"></a><b>§18. </b>We structure the activity so that the printing of the question and typing
|
|
of the answer take place at the "before" stage, and then the parsing and
|
|
acting upon this answer take place at the "for" stage. Reading the keyboard
|
|
is the last rule in "before". With the "for" stage, the idea is that any
|
|
extra rule slipped in by the user can take precedence over the default
|
|
implementation, so the latter is the last there, too.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">before</span><span class="plain"> </span><span class="identifier">handling</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">prompt</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">before</span><span class="plain"> </span><span class="identifier">handling</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">read</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">answer</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">before</span><span class="plain"> </span><span class="identifier">handling</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain">.</span>
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">respond</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">listed</span><span class="plain"> </span><span class="identifier">last</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">handling</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">This</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">prompt</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">: </span><span class="identifier">say</span><span class="plain"> </span><span class="string">"> [run paragraph on]"</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">).</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">read</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">answer</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">translates</span><span class="plain"> </span><span class="identifier">into</span><span class="plain"> </span><span class="identifier">I6</span><span class="plain"> </span><span class="identifier">as</span><span class="plain"> </span><span class="string">"READ_FINAL_ANSWER_R"</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP19"></a><b>§19. </b>That clears away the underbrush and reduces us to two matching tasks: (i)
|
|
to print the question, (ii) to parse the answer, given that we want to be
|
|
able to vary the set of choices available.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">We do this by reading the options from the Table of Final Question Options.
|
|
(See below for its default contents.) Each row is an option, whose wording
|
|
must be placed in the topic column. The final question wording entry can
|
|
either be text describing the option — e.g., "perform a RESTART" — or
|
|
can be left blank, making the option a secret one, omitted from the question
|
|
but still recognised as an answer. The only if victorious entry can be set
|
|
to make the option available only after a victorious ending, not after a loss;
|
|
Infocom's traditional AMUSING option behaved thus. Finally, the table
|
|
specifies what to do if the option is taken: either it provides a rule,
|
|
or an activity to carry out. (If it provides only an activity, but that
|
|
activity is empty, then the option is omitted from the question and not
|
|
recognised as an answer.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">5</span><span class="plain"> - </span><span class="identifier">The</span><span class="plain"> </span><span class="identifier">Final</span><span class="plain"> </span><span class="identifier">Question</span>
|
|
|
|
<span class="identifier">This</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">print</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">:</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">options</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Final</span><span class="plain"> </span><span class="identifier">Question</span><span class="plain"> </span><span class="identifier">Options</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">only</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">victorious</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">story</span><span class="plain"> </span><span class="identifier">has</span><span class="plain"> </span><span class="identifier">ended</span><span class="plain"> </span><span class="identifier">finally</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">entry</span>
|
|
<span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> [</span><span class="identifier">activity</span><span class="plain">] </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">empty</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">wording</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">, </span><span class="identifier">increase</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">options</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">options</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">less</span><span class="plain"> </span><span class="identifier">than</span><span class="plain"> </span><span class="constant">1</span><span class="plain">, </span><span class="identifier">abide</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">quit</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"Would you like to "</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">);</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Final</span><span class="plain"> </span><span class="identifier">Question</span><span class="plain"> </span><span class="identifier">Options</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">only</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">victorious</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">story</span><span class="plain"> </span><span class="identifier">has</span><span class="plain"> </span><span class="identifier">ended</span><span class="plain"> </span><span class="identifier">finally</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">entry</span>
|
|
<span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> [</span><span class="identifier">activity</span><span class="plain">] </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">empty</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">wording</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">wording</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">;</span>
|
|
<span class="identifier">decrease</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">options</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">options</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="constant">1</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">serial</span><span class="plain"> </span><span class="identifier">comma</span><span class="plain"> </span><span class="identifier">option</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">active</span><span class="plain">, </span><span class="identifier">say</span><span class="plain"> </span><span class="string">","</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">" or "</span><span class="plain"> (</span><span class="identifier">B</span><span class="plain">);</span>
|
|
<span class="identifier">otherwise</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">named</span><span class="plain"> </span><span class="identifier">options</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="constant">0</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"?[line break]"</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">", "</span><span class="plain">;</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP20"></a><b>§20. </b>And the matching rule to parse and respond to the answer:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">This</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">respond</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">:</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Final</span><span class="plain"> </span><span class="identifier">Question</span><span class="plain"> </span><span class="identifier">Options</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">only</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">victorious</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">story</span><span class="plain"> </span><span class="identifier">has</span><span class="plain"> </span><span class="identifier">ended</span><span class="plain"> </span><span class="identifier">finally</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">entry</span>
|
|
<span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> [</span><span class="identifier">activity</span><span class="plain">] </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">empty</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">command</span><span class="plain"> </span><span class="identifier">matches</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">topic</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">, </span><span class="identifier">abide</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain"> </span><span class="identifier">carry</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">;</span>
|
|
<span class="identifier">rule</span><span class="plain"> </span><span class="identifier">succeeds</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"Please give one of the answers above."</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">).</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP21"></a><b>§21. </b>The table of final options is the only material under the following heading
|
|
to make it easier for users to replace with entirely different tables.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">These settings are the traditional ones used by Inform since 1995 or so.
|
|
The UNDO option has customarily been a "secret", though not much of one,
|
|
since it somewhat cheapens the announcement of a calamity to be immediately
|
|
offered the chance to reverse it: death, where is thy sting?
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">6</span><span class="plain"> - </span><span class="identifier">Final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">options</span>
|
|
|
|
<span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Final</span><span class="plain"> </span><span class="identifier">Question</span><span class="plain"> </span><span class="identifier">Options</span>
|
|
<span class="identifier">final</span><span class="plain"> </span><span class="identifier">question</span><span class="plain"> </span><span class="identifier">wording</span><span class="plain"> </span><span class="identifier">only</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">victorious</span><span class="plain"> </span><span class="identifier">topic</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> </span><span class="identifier">final</span><span class="plain"> </span><span class="identifier">response</span><span class="plain"> </span><span class="identifier">activity</span>
|
|
<span class="string">"RESTART"</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="string">"restart"</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">restart</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">VM</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> --</span>
|
|
<span class="string">"RESTORE a saved game"</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="string">"restore"</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">restore</span><span class="plain"> </span><span class="identifier">saved</span><span class="plain"> </span><span class="identifier">game</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> --</span>
|
|
<span class="string">"see some suggestions for AMUSING things to do"</span><span class="plain"> </span><span class="identifier">true</span><span class="plain"> </span><span class="string">"amusing"</span><span class="plain"> -- </span><span class="identifier">amusing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">victorious</span><span class="plain"> </span><span class="identifier">player</span>
|
|
<span class="string">"QUIT"</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="string">"quit"</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">quit</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> --</span>
|
|
<span class="string">"UNDO the last command"</span><span class="plain"> </span><span class="identifier">false</span><span class="plain"> </span><span class="string">"undo"</span><span class="plain"> </span><span class="identifier">immediately</span><span class="plain"> </span><span class="identifier">undo</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain"> --</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP22"></a><b>§22. Locale activities. </b>A "locale description" is a segment of the text produced by LOOK: the
|
|
"locale" is a clutch of objects at a given level in the object tree. Most
|
|
room descriptions consist of a top line, a description of the place, and
|
|
then a single (though often, as here, multi-paragraph) locale:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain">Sentier Le Corbusier</span>
|
|
<span class="plain">A coastal walk along the rocky shore between Nice and Menton.</span>
|
|
<span class="plain">...now the locale for the room Sentier Le Corbusier:</span>
|
|
<span class="plain">A translucent jellyfish has been washed up by the waves.</span>
|
|
|
|
<span class="plain">You can also see a bucket and a spade here.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">A locale typically contains a run of paragraphs specific to interesting
|
|
items, especially those not yet picked up, followed by a paragraph which
|
|
lists the "nondescript" items — those not given paragraphs of their own,
|
|
such as the bucket and spade. (Some items, though — typically scenery,
|
|
but also for instance the player — are not even nondescript and do not
|
|
appear at all.) A locale can contain no interesting paragraphs, or no list
|
|
of nondescript items, or can even contain neither: that is, it can be
|
|
entirely empty.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">When the player is in or on top of something, multiple locales are described:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain">Sentier Le Corbusier (in the golf cart)</span>
|
|
<span class="plain">A coastal walk along the rocky shore between Nice and Menton.</span>
|
|
<span class="plain">...now the locale for the room Sentier Le Corbusier:</span>
|
|
<span class="plain">A translucent jellyfish has been washed up by the waves.</span>
|
|
|
|
<span class="plain">You can also see a bucket and a spade here.</span>
|
|
<span class="plain">...now the locale for the golf cart:</span>
|
|
<span class="plain">In the golf cart you can see a map of Villefranche-sur-Mer.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">To sum up, the text produced by LOOK consists of a header (produced by
|
|
the carry out looking rules) followed by one or more locale descriptions
|
|
(produced by the activity below).
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP23"></a><b>§23. Locale Implementation. </b>When describing a locale, we keep a Table of interesting objects, each
|
|
associated with a priority — a number indicating how important, and
|
|
therefore how near to the top of the description, the object is. A special
|
|
syntax allows us to create the Table with exactly the same number of rows
|
|
as there are things in the model world: thus, in the worst case where
|
|
all things are in a single locale, we still will not run out of table
|
|
rows. (We do this rather than creating a large but fixed-size table
|
|
because memory is very short in some Z-machine I7 works, so we want to
|
|
take only what we might actually need. The table structure is not as
|
|
wasteful as it might look: an experiment with using a number property
|
|
of things instead showed that this table was actually more efficient,
|
|
because of the property numbering overhead in the Z-machine memory
|
|
representation of objects.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Section</span><span class="plain"> </span><span class="constant">7</span><span class="plain"> - </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> - </span><span class="identifier">Unindexed</span>
|
|
|
|
<span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span>
|
|
<span class="identifier">notable</span><span class="plain">-</span><span class="identifier">object</span><span class="plain"> (</span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">object</span><span class="plain">) </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> (</span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain">)</span>
|
|
<span class="plain">-- --</span>
|
|
<span class="identifier">with</span><span class="plain"> </span><span class="identifier">blank</span><span class="plain"> </span><span class="identifier">rows</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">each</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">To</span><span class="plain"> </span><span class="identifier">describe</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> (</span><span class="identifier">O</span><span class="plain"> - </span><span class="identifier">object</span><span class="plain">):</span>
|
|
<span class="identifier">carry</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">O</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">To</span><span class="plain"> </span><span class="identifier">set</span><span class="plain"> </span><span class="identifier">the</span><span class="plain">/-- </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> (</span><span class="identifier">O</span><span class="plain"> - </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">object</span><span class="plain">) </span><span class="identifier">to</span><span class="plain"> (</span><span class="identifier">N</span><span class="plain"> - </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">O</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">N</span><span class="plain"> <= </span><span class="constant">0</span><span class="plain">, </span><span class="identifier">now</span><span class="plain"> </span><span class="identifier">O</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">there</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain">-</span><span class="identifier">object</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">O</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain">:</span>
|
|
<span class="identifier">choose</span><span class="plain"> </span><span class="identifier">row</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain">-</span><span class="identifier">object</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">O</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">N</span><span class="plain"> <= </span><span class="constant">0</span><span class="plain">, </span><span class="identifier">blank</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">whole</span><span class="plain"> </span><span class="identifier">row</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain"> </span><span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">N</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">N</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">greater</span><span class="plain"> </span><span class="identifier">than</span><span class="plain"> </span><span class="constant">0</span><span class="plain">:</span>
|
|
<span class="identifier">choose</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">blank</span><span class="plain"> </span><span class="identifier">row</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain">;</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain">-</span><span class="identifier">object</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">O</span><span class="plain">;</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">N</span><span class="plain">;</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP24"></a><b>§24. Printing the Locale Description. </b>This is handled by the "printing the locale description" activity. The
|
|
before stage works out which objects might be of interest; the for stage
|
|
actually prints paragraphs; the after stage is initially empty, but can be
|
|
used to insert all kinds of interesting information into a room description.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">We count the paragraphs printed in a global variable, not an activity variable,
|
|
since it needs to be consulted in sub-activities whose rules are outside what
|
|
would be its scope; that doesn't matter, though, since locale descriptions
|
|
are not nested. (If they were, the above table would fail in any case.)
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(1) Disaster would ensue if the user tampered with the "initialise locale
|
|
description rule", but nobody is likely to do this other than intentionally.
|
|
</li><li>(2) The "find notable locale objects rule" in fact only runs a further
|
|
activity, the "choosing notable locale objects" activity. The task here
|
|
is to identify the objects which might by virtue of their location appear
|
|
in the locale, and to assign each of them a priority number.
|
|
</li><li>(3) The "interesting locale paragraphs rule" goes through all of the
|
|
notable objects chosen at stage (2), in order of priority, and offers each
|
|
to yet another activity: the "printing a locale paragraph about" activity.
|
|
This can either print a paragraph related to the item in question, or
|
|
demote it as being not even nondescript (by changing its priority to 0).
|
|
The default is to do nothing, in which case the item becomes nondescript.
|
|
</li><li>(4) The "you-can-also-see rule" prints what is, ordinarily, the final
|
|
paragraph of the locale description, listing the nondescript items. It
|
|
goes to some trouble to find out whether these all have a common object tree
|
|
parent, listing them with "list contents of" if they do: this is so that
|
|
people who have written rules such as "Rule for printing the name of the
|
|
blur while listing contents..." will take effect, because the "listing
|
|
contents" activity will be going on. Provided that the notable objects
|
|
chosen in (2) are all children of the locale domain, this will always
|
|
happen. If the user should add rules to make quite different objects also
|
|
notable, then the "you-can-also-see rule" has to resort to listing in
|
|
a way which doesn't use the "listing contents" activity — since the
|
|
list is not in fact a list of the contents of anything.
|
|
</li></ul>
|
|
<pre class="display">
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_pld</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">The</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">that</span><span class="plain"> </span><span class="identifier">varies</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Before</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">initialise</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain">:</span>
|
|
<span class="identifier">blank</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">whole</span><span class="plain"> </span><span class="identifier">row</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Before</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">find</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">objects</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">parameter</span><span class="plain">-</span><span class="identifier">object</span><span class="plain">;</span>
|
|
<span class="identifier">carry</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">choosing</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">objects</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">interesting</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraphs</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">parameter</span><span class="plain">-</span><span class="identifier">object</span><span class="plain">;</span>
|
|
<span class="identifier">sort</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">order</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain">:</span>
|
|
<span class="identifier">carry</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain">-</span><span class="identifier">object</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">you</span><span class="plain">-</span><span class="identifier">can</span><span class="plain">-</span><span class="identifier">also</span><span class="plain">-</span><span class="identifier">see</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">parameter</span><span class="plain">-</span><span class="identifier">object</span><span class="plain">;</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">mentionable</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">things</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">Table</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">Locale</span><span class="plain"> </span><span class="identifier">Priorities</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">description</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">greater</span><span class="plain"> </span><span class="identifier">than</span><span class="plain"> </span><span class="constant">0</span><span class="plain">,</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain">-</span><span class="identifier">object</span><span class="plain"> </span><span class="identifier">entry</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">increase</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">mentionable</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">mentionable</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">greater</span><span class="plain"> </span><span class="identifier">than</span><span class="plain"> </span><span class="constant">0</span><span class="plain">:</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">things</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">begin</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">nondescript</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">number</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="constant">0</span><span class="plain">:</span>
|
|
<span class="identifier">abandon</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">nondescript</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">handling</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">nondescript</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">location</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[We] "</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">);</span>
|
|
<span class="identifier">otherwise</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">supporter</span><span class="plain"> </span><span class="identifier">or</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">animal</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"On [the domain] [we] "</span><span class="plain"> (</span><span class="identifier">B</span><span class="plain">);</span>
|
|
<span class="identifier">otherwise</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"In [the domain] [we] "</span><span class="plain"> (</span><span class="identifier">C</span><span class="plain">);</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">greater</span><span class="plain"> </span><span class="identifier">than</span><span class="plain"> </span><span class="constant">0</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[regarding the player][can] also see "</span><span class="plain"> (</span><span class="identifier">D</span><span class="plain">);</span>
|
|
<span class="identifier">otherwise</span><span class="plain">:</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[regarding the player][can] see "</span><span class="plain"> (</span><span class="identifier">E</span><span class="plain">);</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">common</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">nothing</span><span class="plain">;</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">form</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">true</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">things</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">common</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">common</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">nothing</span><span class="plain">,</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">common</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain"> </span><span class="identifier">now</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">form</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">false</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">, </span><span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">filter</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">recursion</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="identifier">unmentioned</span><span class="plain"> </span><span class="identifier">things</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">form</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">true</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">common</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">nothing</span><span class="plain">,</span>
|
|
<span class="identifier">list</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">common</span><span class="plain"> </span><span class="identifier">holder</span><span class="plain">, </span><span class="identifier">as</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">sentence</span><span class="plain">, </span><span class="identifier">including</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain">,</span>
|
|
<span class="identifier">giving</span><span class="plain"> </span><span class="identifier">brief</span><span class="plain"> </span><span class="identifier">inventory</span><span class="plain"> </span><span class="identifier">information</span><span class="plain">, </span><span class="identifier">tersely</span><span class="plain">, </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">listing</span>
|
|
<span class="identifier">concealed</span><span class="plain"> </span><span class="identifier">items</span><span class="plain">, </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">only</span><span class="plain">;</span>
|
|
<span class="identifier">otherwise</span><span class="plain"> </span><span class="identifier">say</span><span class="plain"> </span><span class="string">"[a list of marked for listing things including contents]"</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">location</span><span class="plain">, </span><span class="identifier">say</span><span class="plain"> </span><span class="string">" here"</span><span class="plain"> (</span><span class="identifier">F</span><span class="plain">);</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">".[paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">unfilter</span><span class="plain"> </span><span class="identifier">list</span><span class="plain"> </span><span class="identifier">recursion</span><span class="plain">;</span>
|
|
<span class="identifier">end</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">nondescript</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP25"></a><b>§25. Choosing Notable Locale Objects. </b>By default, the notable objects are exactly the children of the domain, and
|
|
they all have equal priority (1). Since table sorting is stable, and thus
|
|
preserves the row order of rows with equal priority, the eventual order of
|
|
listing is by default the same as the order in which things are added to the
|
|
table, which in turn is the object-tree traversal order.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">Choosing</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">objects</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_cnlo</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">choosing</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">objects</span><span class="plain"> (</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">standard</span><span class="plain"> </span><span class="identifier">notable</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">objects</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">parameter</span><span class="plain">-</span><span class="identifier">object</span><span class="plain">;</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">first</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">domain</span><span class="plain">;</span>
|
|
<span class="identifier">while</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain">:</span>
|
|
<span class="identifier">set</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="constant">5</span><span class="plain">;</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">next</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">after</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP26"></a><b>§26. Printing a Locale Paragraph. </b>By default there are four kinds of "interesting" locale paragraph, and
|
|
the following setup is fairly complicated because it implements conventions
|
|
gradually built up between 1978 and 2008.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">To recap, this activity is run on each notable thing in turn, in priority
|
|
order. (It is only run on notable things for efficiency reasons.)
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The basic principle is that, at every stage, we should consider an item
|
|
only if it is not "mentioned" already. This will happen if it has been
|
|
named by a previous paragraph, but also if it has been explicitly marked
|
|
as such to get rid of it. In considering an item, we have three basic
|
|
options:
|
|
</p>
|
|
|
|
<ul class="items"><li>(a) Print a paragraph about the item and mark it as mentioned — this
|
|
is good for interesting items deserving a paragraph of their own.
|
|
</li><li>(b) Print a paragraph, but do not mark it as mentioned — this is only
|
|
likely to be useful if we want to print information related to the
|
|
item without mentioning the thing itself. (For instance, if the presence
|
|
of a mysterious parcel resulted in a ticking noise, we could print a
|
|
paragraph about the ticking noise without mentioning the parcel, which
|
|
would then appear later.)
|
|
</li><li>(c) Mark the item as mentioned but print nothing — this gets rid of the
|
|
item, ensuring that it will not appear in the final "you can also see"
|
|
sentence, and will not be considered by subsequent rules.
|
|
</li><li>(d) Do nothing at all — the item then becomes "nondescript" and appears
|
|
in the final "you can also see" sentence, unless somebody else mentions
|
|
it in the mean time.
|
|
</li></ul>
|
|
<p class="inwebparagraph">Briefly, then, the following is the standard method:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(1) The "don't mention player's supporter in room descriptions rule"
|
|
excludes anything the player is directly or indirectly standing on or,
|
|
less frequently, in. The header of the room description has probably
|
|
already said something like "Boudoir (on the four-poster bed)", so
|
|
the player can't be unaware of this item.
|
|
</li><li>(2) The "don't mention scenery in room descriptions rule" excludes
|
|
scenery.
|
|
</li><li>(3) The "don't mention undescribed items in room descriptions rule"
|
|
excludes the player object. (It's redundant to say "You can also see
|
|
yourself here.") At present nothing else in I7 is "undescribed"
|
|
in this sense.
|
|
</li><li>(4) The "set pronouns from items in room descriptions rule" adjusts
|
|
the meaning of pronouns like IT and HER to pick up items mentioned.
|
|
Thus if a room description ends "Mme Tourmalet glares at you.", then
|
|
HER would be adjusted to mean Mme Tourmalet.
|
|
</li><li>(5) The "offer items to writing a paragraph about rule" gives the
|
|
"printing a paragraph about" activity a chance to intervene. We detect
|
|
whether it does intervene or not by looking to see if it has printed
|
|
any text.
|
|
</li><li>(6) The "use initial appearance in room descriptions rule" uses the
|
|
initial appearance property of an object which has never been handled
|
|
as a paragraph.
|
|
</li><li>(7) The "describe what's on scenery supporters in room descriptions rule"
|
|
is a somewhat controversial feature: whereas the rest of Inform's room
|
|
description conventions are generally consensus, this one is much
|
|
disliked by some users for its occasional inappropriateness. It prints
|
|
text such as "On the mantelpiece is a piece of chalk." for items which,
|
|
like the mantelpiece, are scenery mentioned (we assume) in the main
|
|
room description. (It is assumed that scenery supporters make their contents
|
|
more prominently visible than scenery containers, which we do not announce
|
|
the contents of.) The ability to modify, replace or abolish this rule was
|
|
one of the main motivations to break room description up into activities
|
|
in March 2008.
|
|
</li></ul>
|
|
<pre class="display">
|
|
<span class="identifier">Printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">something</span><span class="plain"> (</span><span class="identifier">documented</span><span class="plain"> </span><span class="identifier">at</span><span class="plain"> </span><span class="identifier">act_plp</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">don</span><span class="plain">'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">mention</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">supporter</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">encloses</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">, </span><span class="identifier">set</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">don</span><span class="plain">'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">mention</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain">, </span><span class="identifier">set</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">don</span><span class="plain">'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">mention</span><span class="plain"> </span><span class="identifier">undescribed</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">undescribed</span><span class="plain">:</span>
|
|
<span class="identifier">set</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">priority</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">set</span><span class="plain"> </span><span class="identifier">pronouns</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">, </span><span class="identifier">set</span><span class="plain"> </span><span class="identifier">pronouns</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">offer</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> </span><span class="identifier">writing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">break</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">pending</span><span class="plain">, </span><span class="identifier">say</span><span class="plain"> </span><span class="string">"[conditional paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">carry</span><span class="plain"> </span><span class="identifier">out</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">writing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">break</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">pending</span><span class="plain">:</span>
|
|
<span class="identifier">increase</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[conditional paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">use</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">provides</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">property</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span>
|
|
<span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">handled</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span>
|
|
<span class="identifier">not</span><span class="plain"> </span><span class="string">""</span><span class="plain">:</span>
|
|
<span class="identifier">increase</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[initial appearance of the item]"</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"[paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain">-</span><span class="identifier">supportable</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">:</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"On [the item] "</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">);</span>
|
|
<span class="identifier">list</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">, </span><span class="identifier">as</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">sentence</span><span class="plain">, </span><span class="identifier">including</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain">,</span>
|
|
<span class="identifier">giving</span><span class="plain"> </span><span class="identifier">brief</span><span class="plain"> </span><span class="identifier">inventory</span><span class="plain"> </span><span class="identifier">information</span><span class="plain">, </span><span class="identifier">tersely</span><span class="plain">, </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">listing</span>
|
|
<span class="identifier">concealed</span><span class="plain"> </span><span class="identifier">items</span><span class="plain">, </span><span class="identifier">prefacing</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">is</span><span class="plain">/</span><span class="identifier">are</span><span class="plain">, </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">only</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">".[paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">supporter</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">tabletop</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">supporters</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">handled</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">tabletop</span><span class="plain"> </span><span class="identifier">which</span>
|
|
<span class="identifier">provide</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">property</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">person</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="string">""</span>
|
|
<span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">undescribed</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="identifier">initial</span><span class="plain"> </span><span class="identifier">appearance</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">break</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">Definition</span><span class="plain">: </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">) </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain">-</span><span class="identifier">supportable</span><span class="plain"> </span><span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span>
|
|
<span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">undescribed</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">describe</span><span class="plain"> </span><span class="identifier">what</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">supporters</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">enclose</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain">-</span><span class="identifier">supportable</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">:</span>
|
|
<span class="identifier">set</span><span class="plain"> </span><span class="identifier">pronouns</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">increase</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"On [the item] "</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">);</span>
|
|
<span class="identifier">list</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">, </span><span class="identifier">as</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">sentence</span><span class="plain">, </span><span class="identifier">including</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain">,</span>
|
|
<span class="identifier">giving</span><span class="plain"> </span><span class="identifier">brief</span><span class="plain"> </span><span class="identifier">inventory</span><span class="plain"> </span><span class="identifier">information</span><span class="plain">, </span><span class="identifier">tersely</span><span class="plain">, </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">listing</span>
|
|
<span class="identifier">concealed</span><span class="plain"> </span><span class="identifier">items</span><span class="plain">, </span><span class="identifier">prefacing</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">is</span><span class="plain">/</span><span class="identifier">are</span><span class="plain">, </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">only</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">".[paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
|
|
<span class="identifier">For</span><span class="plain"> </span><span class="identifier">printing</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">about</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> (</span><span class="identifier">called</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">)</span>
|
|
<span class="plain">(</span><span class="identifier">this</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">describe</span><span class="plain"> </span><span class="identifier">what</span><span class="plain">'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain"> </span><span class="identifier">supporters</span><span class="plain"> </span><span class="identifier">in</span><span class="plain"> </span><span class="identifier">room</span><span class="plain"> </span><span class="identifier">descriptions</span><span class="plain"> </span><span class="identifier">rule</span><span class="plain">):</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">undescribed</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">is</span>
|
|
<span class="identifier">not</span><span class="plain"> </span><span class="identifier">scenery</span><span class="plain"> </span><span class="identifier">and</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain"> </span><span class="identifier">does</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">enclose</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">player</span><span class="plain">:</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain">-</span><span class="identifier">supportable</span><span class="plain"> </span><span class="identifier">thing</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">:</span>
|
|
<span class="identifier">set</span><span class="plain"> </span><span class="identifier">pronouns</span><span class="plain"> </span><span class="identifier">from</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">;</span>
|
|
<span class="identifier">repeat</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">running</span><span class="plain"> </span><span class="identifier">through</span><span class="plain"> </span><span class="identifier">things</span><span class="plain"> </span><span class="identifier">on</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">if</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">mentioned</span><span class="plain">:</span>
|
|
<span class="identifier">now</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">possibility</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">for</span><span class="plain"> </span><span class="identifier">listing</span><span class="plain">;</span>
|
|
<span class="identifier">increase</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">locale</span><span class="plain"> </span><span class="identifier">paragraph</span><span class="plain"> </span><span class="identifier">count</span><span class="plain"> </span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">"On [the item] "</span><span class="plain"> (</span><span class="identifier">A</span><span class="plain">);</span>
|
|
<span class="identifier">list</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain"> </span><span class="identifier">of</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">item</span><span class="plain">, </span><span class="identifier">as</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">sentence</span><span class="plain">, </span><span class="identifier">including</span><span class="plain"> </span><span class="identifier">contents</span><span class="plain">,</span>
|
|
<span class="identifier">giving</span><span class="plain"> </span><span class="identifier">brief</span><span class="plain"> </span><span class="identifier">inventory</span><span class="plain"> </span><span class="identifier">information</span><span class="plain">, </span><span class="identifier">tersely</span><span class="plain">, </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">listing</span>
|
|
<span class="identifier">concealed</span><span class="plain"> </span><span class="identifier">items</span><span class="plain">, </span><span class="identifier">prefacing</span><span class="plain"> </span><span class="identifier">with</span><span class="plain"> </span><span class="identifier">is</span><span class="plain">/</span><span class="identifier">are</span><span class="plain">, </span><span class="identifier">listing</span><span class="plain"> </span><span class="identifier">marked</span><span class="plain"> </span><span class="identifier">items</span><span class="plain"> </span><span class="identifier">only</span><span class="plain">;</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="string">".[paragraph break]"</span><span class="plain">;</span>
|
|
<span class="identifier">continue</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">activity</span><span class="plain">.</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<hr class="tocbar">
|
|
<ul class="toc"><li><a href="S-var.html">Back to 'Variables and Rulebooks'</a></li><li><a href="S-act2.html">Continue with 'Actions'</a></li></ul><hr class="tocbar">
|
|
<!--End of weave-->
|
|
</main>
|
|
</body>
|
|
</html>
|
|
|