evennia/docs/3.x/api/evennia.contrib.tutorials.tutorial_world.mob.html
2023-12-21 00:12:31 +01:00

393 lines
No EOL
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>evennia.contrib.tutorials.tutorial_world.mob &#8212; Evennia 3.x documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.contrib.tutorials.tutorial_world.objects" href="evennia.contrib.tutorials.tutorial_world.objects.html" />
<link rel="prev" title="evennia.contrib.tutorials.tutorial_world.intro_menu" href="evennia.contrib.tutorials.tutorial_world.intro_menu.html" />
</head><body>
<div class="admonition important">
<p class="first admonition-title">Note</p>
<p class="last">You are reading an old version of the Evennia documentation. <a href="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.tutorial_world.objects.html" title="evennia.contrib.tutorials.tutorial_world.objects"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.tutorial_world.intro_menu.html" title="evennia.contrib.tutorials.tutorial_world.intro_menu"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 3.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.tutorial_world.html" accesskey="U">evennia.contrib.tutorials.tutorial_world</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.tutorial_world.mob</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.tutorial_world.intro_menu.html"
title="previous chapter">evennia.contrib.tutorials.tutorial_world.intro_menu</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.tutorial_world.objects.html"
title="next chapter">evennia.contrib.tutorials.tutorial_world.objects</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.contrib.tutorials.tutorial_world.mob.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.contrib.tutorials.tutorial_world.mob">
<span id="evennia-contrib-tutorials-tutorial-world-mob"></span><h1>evennia.contrib.tutorials.tutorial_world.mob<a class="headerlink" href="#module-evennia.contrib.tutorials.tutorial_world.mob" title="Permalink to this headline"></a></h1>
<p>This module implements a simple mobile object with
a very rudimentary AI as well as an aggressive enemy
object based on that mobile class.</p>
<dl class="py class">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.tutorial_world.mob.</code><code class="sig-name descname">CmdMobOnOff</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#CmdMobOnOff"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.command.Command</span></code></a></p>
<p>Activates/deactivates Mob</p>
<dl class="simple">
<dt>Usage:</dt><dd><p>mobon &lt;mob&gt;
moboff &lt;mob&gt;</p>
</dd>
</dl>
<p>This turns the mob from active (alive) mode
to inactive (dead) mode. It is used during
building to activate the mob once its
prepared.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.key">
<code class="sig-name descname">key</code><em class="property"> = 'mobon'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['moboff']</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:superuser()'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.func">
<code class="sig-name descname">func</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#CmdMobOnOff.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.func" title="Permalink to this definition"></a></dt>
<dd><p>Uses the mobs set_alive/set_dead methods
to turn on/off the mob.”</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'general'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:superuser()'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'moboff', 'category': 'general', 'key': 'mobon', 'no_prefix': ' moboff', 'tags': '', 'text': &quot;\n Activates/deactivates Mob\n\n Usage:\n mobon &lt;mob&gt;\n moboff &lt;mob&gt;\n\n This turns the mob from active (alive) mode\n to inactive (dead) mode. It is used during\n building to activate the mob once it's\n prepared.\n &quot;}</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.CmdMobOnOff.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.tutorial_world.mob.</code><code class="sig-name descname">MobCmdSet</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">cmdsetobj</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">key</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#MobCmdSet"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.cmdset.html#evennia.commands.cmdset.CmdSet" title="evennia.commands.cmdset.CmdSet"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.cmdset.CmdSet</span></code></a></p>
<p>Holds the admin command controlling the mob</p>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet.at_cmdset_creation">
<code class="sig-name descname">at_cmdset_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#MobCmdSet.at_cmdset_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet.at_cmdset_creation" title="Permalink to this definition"></a></dt>
<dd><p>Hook method - this should be overloaded in the inheriting
class, and should take care of populating the cmdset by use of
self.add().</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.MobCmdSet.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.tutorial_world.mob.</code><code class="sig-name descname">Mob</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.tutorial_world.objects.html#evennia.contrib.tutorials.tutorial_world.objects.TutorialObject" title="evennia.contrib.tutorials.tutorial_world.objects.TutorialObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.tutorial_world.objects.TutorialObject</span></code></a></p>
<p>This is a state-machine AI mobile. It has several states which are
controlled from setting various Attributes. All default to True:</p>
<blockquote>
<div><dl class="simple">
<dt>patrolling: if set, the mob will move randomly</dt><dd><p>from room to room, but preferring to not return
the way it came. If unset, the mob will remain
stationary (idling) until attacked.</p>
</dd>
<dt>aggressive: if set, will attack Characters in</dt><dd><p>the same room using whatever Weapon it
carries (see tutorial_world.objects.TutorialWeapon).
if unset, the mob will never engage in combat
no matter what.</p>
</dd>
<dt>hunting: if set, the mob will pursue enemies trying</dt><dd><p>to flee from it, so it can enter combat. If unset,
it will return to patrolling/idling if fled from.</p>
</dd>
</dl>
<p>immortal: If set, the mob cannot take any damage.
irregular_echoes: list of strings the mob generates at irregular intervals.
desc_alive: the physical description while alive
desc_dead: the physical descripion while dead
send_defeated_to: unique key/alias for location to send defeated enemies to
defeat_msg: message to echo to defeated opponent
defeat_msg_room: message to echo to room. Accepts %s as the name of the defeated.
hit_msg: message to echo when this mob is hit. Accepts %s for the mobs key.
weapon_ineffective_msg: message to echo for useless attacks
death_msg: message to echo to room when this mob dies.
patrolling_pace: how many seconds per tick, when patrolling
aggressive_pace: -”- attacking
hunting_pace: -”- hunting
death_pace: -”- returning to life when dead</p>
<dl class="simple">
<dt>field home - the home location should set to someplace inside</dt><dd><p>the patrolling area. The mob will use this if it should
happen to roam into a room with no exits.</p>
</dd>
</dl>
</div></blockquote>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.at_init">
<code class="sig-name descname">at_init</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.at_init"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.at_init" title="Permalink to this definition"></a></dt>
<dd><p>When initialized from cache (after a server reboot), set up
the AI state.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.at_object_creation">
<code class="sig-name descname">at_object_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.at_object_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.at_object_creation" title="Permalink to this definition"></a></dt>
<dd><p>Called the first time the object is created.
We set up the base properties and flags here.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.set_alive">
<code class="sig-name descname">set_alive</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.set_alive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.set_alive" title="Permalink to this definition"></a></dt>
<dd><p>Set the mob to “alive” mode. This effectively
resurrects it from the dead state.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.set_dead">
<code class="sig-name descname">set_dead</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.set_dead"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.set_dead" title="Permalink to this definition"></a></dt>
<dd><p>Set the mob to “dead” mode. This turns it off
and makes sure it can take no more damage.
It also starts a ticker for when it will return.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.start_idle">
<code class="sig-name descname">start_idle</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.start_idle"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.start_idle" title="Permalink to this definition"></a></dt>
<dd><p>Starts just standing around. This will kill
the ticker and do nothing more.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.start_patrolling">
<code class="sig-name descname">start_patrolling</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.start_patrolling"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.start_patrolling" title="Permalink to this definition"></a></dt>
<dd><p>Start the patrolling state by
registering us with the ticker-handler
at a leasurely pace.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.start_hunting">
<code class="sig-name descname">start_hunting</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.start_hunting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.start_hunting" title="Permalink to this definition"></a></dt>
<dd><p>Start the hunting state</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.start_attacking">
<code class="sig-name descname">start_attacking</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.start_attacking"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.start_attacking" title="Permalink to this definition"></a></dt>
<dd><p>Start the attacking state</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.do_patrol">
<code class="sig-name descname">do_patrol</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.do_patrol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.do_patrol" title="Permalink to this definition"></a></dt>
<dd><p>Called repeatedly during patrolling mode. In this mode, the
mob scans its surroundings and randomly chooses a viable exit.
One should lock exits with the traverse:has_account() lock in
order to block the mob from moving outside its area while
allowing account-controlled characters to move normally.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.do_hunting">
<code class="sig-name descname">do_hunting</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.do_hunting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.do_hunting" title="Permalink to this definition"></a></dt>
<dd><p>Called regularly when in hunting mode. In hunting mode the mob
scans adjacent rooms for enemies and moves towards them to
attack if possible.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.do_attack">
<code class="sig-name descname">do_attack</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.do_attack"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.do_attack" title="Permalink to this definition"></a></dt>
<dd><p>Called regularly when in attacking mode. In attacking mode
the mob will bring its weapons to bear on any targets
in the room.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.at_hit">
<code class="sig-name descname">at_hit</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">weapon</span></em>, <em class="sig-param"><span class="n">attacker</span></em>, <em class="sig-param"><span class="n">damage</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.at_hit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.at_hit" title="Permalink to this definition"></a></dt>
<dd><p>Someone landed a hit on us. Check our status
and start attacking if not already doing so.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.at_new_arrival">
<code class="sig-name descname">at_new_arrival</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">new_character</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/tutorial_world/mob.html#Mob.at_new_arrival"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.at_new_arrival" title="Permalink to this definition"></a></dt>
<dd><p>This is triggered whenever a new character enters the room.
This is called by the TutorialRoom the mob stands in and
allows it to be aware of changes immediately without needing
to poll for them all the time. For example, the mob can react
right away, also when patrolling on a very slow ticker.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.tutorial_world.objects.html#evennia.contrib.tutorials.tutorial_world.objects.TutorialObject.DoesNotExist" title="evennia.contrib.tutorials.tutorial_world.objects.TutorialObject.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.tutorial_world.objects.TutorialObject.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.tutorial_world.objects.html#evennia.contrib.tutorials.tutorial_world.objects.TutorialObject.MultipleObjectsReturned" title="evennia.contrib.tutorials.tutorial_world.objects.TutorialObject.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.tutorial_world.objects.TutorialObject.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.tutorial_world.mob.Mob'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.tutorial_world.mob.Mob.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'Mob'</em><a class="headerlink" href="#evennia.contrib.tutorials.tutorial_world.mob.Mob.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.tutorial_world.objects.html" title="evennia.contrib.tutorials.tutorial_world.objects"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.tutorial_world.intro_menu.html" title="evennia.contrib.tutorials.tutorial_world.intro_menu"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 3.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.tutorial_world.html" >evennia.contrib.tutorials.tutorial_world</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.tutorial_world.mob</a></li>
</ul>
</div>
<div class="admonition important">
<p class="first admonition-title">Note</p>
<p class="last">You are reading an old version of the Evennia documentation. <a href="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2023, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>