Updated HTML docs

This commit is contained in:
Evennia docbuilder action 2022-11-13 20:06:05 +00:00
parent 2b5ef60713
commit 8227aa9def
51 changed files with 156 additions and 158 deletions

View file

@ -112,7 +112,7 @@ the <a class="reference internal" href="Tutorial-for-basic-MUSH-like-game.html">
</ul>
<p>To begin with, we need to create an NPC typeclass. Create a new file inside of your typeclasses
folder and name it <code class="docutils literal notranslate"><span class="pre">npcs.py</span></code> and then add the following code:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">typeclasses.characters</span> <span class="kn">import</span> <span class="n">Character</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">typeclasses.characters</span> <span class="kn">import</span> <span class="n">Character</span>
<span class="k">class</span> <span class="nc">NPC</span><span class="p">(</span><span class="n">Character</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
@ -120,9 +120,9 @@ folder and name it <code class="docutils literal notranslate"><span class="pre">
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">at_char_entered</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">character</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> A simple is_aggressive check. </span>
<span class="sd"> A simple is_aggressive check.</span>
<span class="sd"> Can be expanded upon later.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">db</span><span class="o">.</span><span class="n">is_aggressive</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">execute_cmd</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;say Graaah, die </span><span class="si">{</span><span class="n">character</span><span class="si">}</span><span class="s2">!&quot;</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
@ -142,12 +142,12 @@ quest-giving) as your game design dictates.</p>
<span class="k">def</span> <span class="nf">at_object_receive</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">,</span> <span class="n">source_location</span><span class="p">):</span>
<span class="k">if</span> <span class="n">utils</span><span class="o">.</span><span class="n">inherits_from</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s1">&#39;typeclasses.npcs.NPC&#39;</span><span class="p">):</span> <span class="c1"># An NPC has entered</span>
<span class="k">return</span>
<span class="k">elif</span> <span class="n">utils</span><span class="o">.</span><span class="n">inherits_from</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s1">&#39;typeclasses.characters.Character&#39;</span><span class="p">):</span>
<span class="k">elif</span> <span class="n">utils</span><span class="o">.</span><span class="n">inherits_from</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="s1">&#39;typeclasses.characters.Character&#39;</span><span class="p">):</span>
<span class="c1"># A PC has entered.</span>
<span class="c1"># Cause the player&#39;s character to look around.</span>
<span class="n">obj</span><span class="o">.</span><span class="n">execute_cmd</span><span class="p">(</span><span class="s1">&#39;look&#39;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">contents</span><span class="p">:</span>
<span class="k">if</span> <span class="n">utils</span><span class="o">.</span><span class="n">inherits_from</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s1">&#39;typeclasses.npcs.NPC&#39;</span><span class="p">):</span>
<span class="k">if</span> <span class="n">utils</span><span class="o">.</span><span class="n">inherits_from</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="s1">&#39;typeclasses.npcs.NPC&#39;</span><span class="p">):</span>
<span class="c1"># An NPC is in the room</span>
<span class="n">item</span><span class="o">.</span><span class="n">at_char_entered</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span>
</pre></div>
@ -174,11 +174,10 @@ overload. This means that a character entering would see the NPC perform its ac
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span> <span class="c1"># Add this hook in any blank area within your Character class.</span>
<span class="k">def</span> <span class="nf">at_post_move</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source_location</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Default is to look around after a move </span>
<span class="sd"> Default is to look around after a move</span>
<span class="sd"> Note: This has been moved to Room.at_object_receive</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="c1">#self.execute_cmd(&#39;look&#39;)</span>
<span class="k">pass</span>
<span class="c1"># self.execute_cmd(&#39;look&#39;)</span>
</pre></div>
</div>
<p>Now lets create an NPC and make it aggressive. Type the following commands into your MUD client:</p>