mirror of
https://github.com/evennia/evennia.git
synced 2026-03-30 04:27:16 +02:00
Updated HTML docs
This commit is contained in:
parent
2b5ef60713
commit
8227aa9def
51 changed files with 156 additions and 158 deletions
|
|
@ -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">"""</span>
|
||||
|
|
@ -120,9 +120,9 @@ folder and name it <code class="docutils literal notranslate"><span class="pre">
|
|||
<span class="sd"> """</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">"""</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"> """</span>
|
||||
<span class="sd"> """</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">"say Graaah, die </span><span class="si">{</span><span class="n">character</span><span class="si">}</span><span class="s2">!"</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">'typeclasses.npcs.NPC'</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">'typeclasses.characters.Character'</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">'typeclasses.characters.Character'</span><span class="p">):</span>
|
||||
<span class="c1"># A PC has entered.</span>
|
||||
<span class="c1"># Cause the player'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">'look'</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">'typeclasses.npcs.NPC'</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">'typeclasses.npcs.NPC'</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">"""</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"> """</span>
|
||||
<span class="c1">#self.execute_cmd('look')</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="c1"># self.execute_cmd('look')</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Now let’s create an NPC and make it aggressive. Type the following commands into your MUD client:</p>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue