evennia/docs/2.x/api/evennia.contrib.tutorials.evadventure.dungeon.html
Evennia docbuilder action e535f5782a Updated HTML docs.
2023-10-19 20:22:27 +00:00

656 lines
No EOL
59 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.evadventure.dungeon &#8212; Evennia 2.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.evadventure.enums" href="evennia.contrib.tutorials.evadventure.enums.html" />
<link rel="prev" title="evennia.contrib.tutorials.evadventure.commands" href="evennia.contrib.tutorials.evadventure.commands.html" />
</head><body>
<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.evadventure.enums.html" title="evennia.contrib.tutorials.evadventure.enums"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.commands.html" title="evennia.contrib.tutorials.evadventure.commands"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.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.evadventure.html" accesskey="U">evennia.contrib.tutorials.evadventure</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.evadventure.dungeon</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.evadventure.commands.html"
title="previous chapter">evennia.contrib.tutorials.evadventure.commands</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.enums.html"
title="next chapter">evennia.contrib.tutorials.evadventure.enums</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.evadventure.dungeon.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>
<h3>Doc Versions</h3>
<ul>
<li><a href="evennia.contrib.tutorials.evadventure.dungeon.html">2.x (main branch)</a></li>
<ul>
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.contrib.tutorials.evadventure.dungeon">
<span id="evennia-contrib-tutorials-evadventure-dungeon"></span><h1>evennia.contrib.tutorials.evadventure.dungeon<a class="headerlink" href="#module-evennia.contrib.tutorials.evadventure.dungeon" title="Permalink to this headline"></a></h1>
<p>Dungeon system</p>
<p>This creates a procedurally generated dungeon.</p>
<p>The dungone originates in an entrance room with exits that spawn a new dungeon connection every X
minutes. As long as characters go through the same exit within that time, they will all end up in
the same dungeon branch, otherwise they will go into separate, un-connected dungeon branches.
They can always go back to the start room, but this will become a one-way exit back.</p>
<p>When moving through the dungeon, a new room is not generated until characters
decided to go in that direction. Each room is tagged with the specific instance
id of that particular branch of dungon. When no characters remain in the branch,
the branch is deleted.</p>
<p>Each room in the dungeon starts with a Tag <strong>not_clear</strong>; while this is set, all exits out
of the room (not the one they came from) is blocked. When whatever problem the room
offers has been solved (such as a puzzle or a battle), the tag is removed and the player(s)
can choose which exit to leave through.</p>
<dl class="py function">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.random">
<code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">random</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; x in the interval [0, 1).<a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.random" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureDungeonRoom</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/evadventure/dungeon.html#EvAdventureDungeonRoom"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.evadventure.rooms.html#evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom" title="evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom</span></code></a></p>
<p>Dangerous dungeon room.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.allow_combat">
<code class="sig-name descname">allow_combat</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.allow_combat" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.allow_death">
<code class="sig-name descname">allow_death</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.allow_death" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.back_exit">
<code class="sig-name descname">back_exit</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.back_exit" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.dungeon_orchestrator">
<code class="sig-name descname">dungeon_orchestrator</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.dungeon_orchestrator" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.xy_coords">
<code class="sig-name descname">xy_coords</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.xy_coords" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.is_room_clear">
<em class="property">property </em><code class="sig-name descname">is_room_clear</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.is_room_clear" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.clear_room">
<code class="sig-name descname">clear_room</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonRoom.clear_room"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.clear_room" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.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/evadventure/dungeon.html#EvAdventureDungeonRoom.at_object_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.at_object_creation" title="Permalink to this definition"></a></dt>
<dd><p>Set the <strong>not_clear</strong> tag on the room. This is removed when the room is
cleared, whatever that means for each room.</p>
<p>We put this here rather than in the room-creation code so we can override
easier (for example we may want an empty room which auto-clears).</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.get_display_footer">
<code class="sig-name descname">get_display_footer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">looker</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/evadventure/dungeon.html#EvAdventureDungeonRoom.get_display_footer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.get_display_footer" title="Permalink to this definition"></a></dt>
<dd><p>Show if the room is cleared or not as part of its description.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.evadventure.rooms.html#evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom.DoesNotExist" title="evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.contrib.tutorials.evadventure.rooms.html#evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom.MultipleObjectsReturned" title="evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.rooms.EvAdventureRoom.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureDungeonRoom'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureDungeonExit</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/evadventure/dungeon.html#EvAdventureDungeonExit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultExit" title="evennia.objects.objects.DefaultExit"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultExit</span></code></a></p>
<p>Dungeon exit. This will not create the target room until its traversed.</p>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.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/evadventure/dungeon.html#EvAdventureDungeonExit.at_object_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_object_creation" title="Permalink to this definition"></a></dt>
<dd><p>We want to block progressing forward unless the room is clear.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_traverse">
<code class="sig-name descname">at_traverse</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">traversing_object</span></em>, <em class="sig-param"><span class="n">target_location</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/evadventure/dungeon.html#EvAdventureDungeonExit.at_traverse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_traverse" title="Permalink to this definition"></a></dt>
<dd><p>Called when traversing. <strong>target_location</strong> will be None if the
target was not yet created. It checks the current location to get the
dungeon-orchestrator in use.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_failed_traverse">
<code class="sig-name descname">at_failed_traverse</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">traversing_object</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/evadventure/dungeon.html#EvAdventureDungeonExit.at_failed_traverse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_failed_traverse" title="Permalink to this definition"></a></dt>
<dd><p>Called when failing to traverse.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultExit.DoesNotExist" title="evennia.objects.objects.DefaultExit.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultExit.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultExit.MultipleObjectsReturned" title="evennia.objects.objects.DefaultExit.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultExit.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureDungeonExit'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.room_generator">
<code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">room_generator</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dungeon_orchestrator</span></em>, <em class="sig-param"><span class="n">depth</span></em>, <em class="sig-param"><span class="n">coords</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#room_generator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.room_generator" title="Permalink to this definition"></a></dt>
<dd><p>Plugin room generator</p>
<p>This default one returns the same empty room.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>dungeon_orchestrator</strong> (<a class="reference internal" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator" title="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator"><em>EvAdventureDungeonOrchestrator</em></a>) The current orchestrator.</p></li>
<li><p><strong>depth</strong> (<em>int</em>) The depth of the dungeon (radial distance from start room) this
new room will be placed at.</p></li>
<li><p><strong>coords</strong> (<em>tuple</em>) The <strong>(x,y)</strong> coords that the new room will be created at.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureDungeonOrchestrator</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/evadventure/dungeon.html#EvAdventureDungeonOrchestrator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript" title="evennia.scripts.scripts.DefaultScript"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript</span></code></a></p>
<p>One script is created per dungeon branch created. The orchestrator is
responsible for determining what is created next when a character enters an
exit within the dungeon.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.max_unexplored_exits">
<code class="sig-name descname">max_unexplored_exits</code><em class="property"> = 2</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.max_unexplored_exits" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.max_new_exits_per_room">
<code class="sig-name descname">max_new_exits_per_room</code><em class="property"> = 2</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.max_new_exits_per_room" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.rooms">
<code class="sig-name descname">rooms</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.rooms" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.unvisited_exits">
<code class="sig-name descname">unvisited_exits</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.unvisited_exits" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.highest_depth">
<code class="sig-name descname">highest_depth</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.highest_depth" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.last_updated">
<code class="sig-name descname">last_updated</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.last_updated" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.room_generator">
<code class="sig-name descname">room_generator</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.room_generator" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.xy_grid">
<code class="sig-name descname">xy_grid</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.xy_grid" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.start_room">
<code class="sig-name descname">start_room</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.start_room" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.register_exit_traversed">
<code class="sig-name descname">register_exit_traversed</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">exit</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonOrchestrator.register_exit_traversed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.register_exit_traversed" title="Permalink to this definition"></a></dt>
<dd><p>Tell the system the given exit was traversed. This allows us to track how many unvisited
paths we have so as to not have it grow exponentially.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.create_out_exit">
<code class="sig-name descname">create_out_exit</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">location</span></em>, <em class="sig-param"><span class="n">exit_direction</span><span class="o">=</span><span class="default_value">'north'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonOrchestrator.create_out_exit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.create_out_exit" title="Permalink to this definition"></a></dt>
<dd><p>Create outgoing exit from a room. The target room is not yet created.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.delete">
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonOrchestrator.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.delete" title="Permalink to this definition"></a></dt>
<dd><p>Clean up the entire dungeon along with the orchestrator.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.new_room">
<code class="sig-name descname">new_room</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">from_exit</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonOrchestrator.new_room"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.new_room" title="Permalink to this definition"></a></dt>
<dd><p>Create a new Dungeon room leading from the provided exit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>from_exit</strong> (<em>Exit</em>) The exit leading to this new room.</p>
</dd>
</dl>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.DoesNotExist" title="evennia.scripts.scripts.DefaultScript.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned" title="evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureDungeonOrchestrator'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonOrchestrator.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureDungeonStartRoomExit</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/evadventure/dungeon.html#EvAdventureDungeonStartRoomExit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultExit" title="evennia.objects.objects.DefaultExit"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultExit</span></code></a></p>
<p>Traversing this exit will either lead to an existing dungeon branch or create
a new one.</p>
<p>Since exits need to have a destination, we start out having them loop back to
the same location and change this whenever someone actually traverse them. The
act of passing through creates a room on the other side.</p>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.reset_exit">
<code class="sig-name descname">reset_exit</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoomExit.reset_exit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.reset_exit" title="Permalink to this definition"></a></dt>
<dd><p>Flush the exit, so next traversal creates a new dungeon branch.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.at_traverse">
<code class="sig-name descname">at_traverse</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">traversing_object</span></em>, <em class="sig-param"><span class="n">target_location</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/evadventure/dungeon.html#EvAdventureDungeonStartRoomExit.at_traverse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.at_traverse" title="Permalink to this definition"></a></dt>
<dd><p>When traversing create a new orchestrator if one is not already assigned.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultExit.DoesNotExist" title="evennia.objects.objects.DefaultExit.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultExit.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.objects.objects.html#evennia.objects.objects.DefaultExit.MultipleObjectsReturned" title="evennia.objects.objects.DefaultExit.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultExit.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureDungeonStartRoomExit'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureStartRoomResetter</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/evadventure/dungeon.html#EvAdventureStartRoomResetter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript" title="evennia.scripts.scripts.DefaultScript"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript</span></code></a></p>
<p>Simple ticker-script. Introduces a chance of the rooms exits cycling every interval.</p>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.at_script_creation">
<code class="sig-name descname">at_script_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureStartRoomResetter.at_script_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.at_script_creation" title="Permalink to this definition"></a></dt>
<dd><p>Only called once, when script is first created.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.at_repeat">
<code class="sig-name descname">at_repeat</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureStartRoomResetter.at_repeat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.at_repeat" title="Permalink to this definition"></a></dt>
<dd><p>Called every time the script repeats.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.DoesNotExist" title="evennia.scripts.scripts.DefaultScript.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned" title="evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureStartRoomResetter'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureDungeonBranchDeleter</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/evadventure/dungeon.html#EvAdventureDungeonBranchDeleter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript" title="evennia.scripts.scripts.DefaultScript"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript</span></code></a></p>
<p>Cleanup script. After some time a dungeon branch will collapse, forcing all players in it
back to the start room.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.branch_max_life">
<code class="sig-name descname">branch_max_life</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.branch_max_life" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.at_script_creation">
<code class="sig-name descname">at_script_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranchDeleter.at_script_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.at_script_creation" title="Permalink to this definition"></a></dt>
<dd><p>Only called once, when script is first created.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.at_repeat">
<code class="sig-name descname">at_repeat</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranchDeleter.at_repeat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.at_repeat" title="Permalink to this definition"></a></dt>
<dd><p>Go through all dungeon-orchestrators and find which ones are too old.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.DoesNotExist" title="evennia.scripts.scripts.DefaultScript.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned" title="evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureDungeonBranchDeleter'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.typename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom">
<em class="property">class </em><code class="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><code class="sig-name descname">EvAdventureDungeonStartRoom</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/evadventure/dungeon.html#EvAdventureDungeonStartRoom"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom" title="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom</span></code></a></p>
<p>The start room is the only permanent part of the dungeon. Exits leading from this room (except
one leading back outside) each create/links to a separate dungeon branch/instance.</p>
<ul class="simple">
<li><dl class="simple">
<dt>A script will reset each exit every 5 mins; after that time, entering the exit will spawn</dt><dd><p>a new branch-instance instead of leading to the one before.</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Another script will check age of branch instance every hour; once an instance has been</dt><dd><p>inactive for a week, it will collapse, forcing everyone inside back to the start room.</p>
</dd>
</dl>
</li>
</ul>
<p>The actual exits should be created in the build script.</p>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.recycle_time">
<code class="sig-name descname">recycle_time</code><em class="property"> = 300</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.recycle_time" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.branch_check_time">
<code class="sig-name descname">branch_check_time</code><em class="property"> = 3600</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.branch_check_time" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.branch_max_life">
<code class="sig-name descname">branch_max_life</code><em class="property"> = 604800</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.branch_max_life" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.room_generator">
<code class="sig-name descname">room_generator</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.room_generator" title="Permalink to this definition"></a></dt>
<dd><p>AttributeProperty.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.get_display_footer">
<code class="sig-name descname">get_display_footer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">looker</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/evadventure/dungeon.html#EvAdventureDungeonStartRoom.get_display_footer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.get_display_footer" title="Permalink to this definition"></a></dt>
<dd><p>Show if the room is cleared or not as part of its description.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.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/evadventure/dungeon.html#EvAdventureDungeonStartRoom.at_object_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.at_object_creation" title="Permalink to this definition"></a></dt>
<dd><p>Set the <strong>not_clear</strong> tag on the room. This is removed when the room is
cleared, whatever that means for each room.</p>
<p>We put this here rather than in the room-creation code so we can override
easier (for example we may want an empty room which auto-clears).</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.at_object_receive">
<code class="sig-name descname">at_object_receive</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">obj</span></em>, <em class="sig-param"><span class="n">source_location</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/evadventure/dungeon.html#EvAdventureDungeonStartRoom.at_object_receive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.at_object_receive" title="Permalink to this definition"></a></dt>
<dd><p>Make sure to clean the dungeon branch-tag from characters when leaving a dungeon branch.</p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.DoesNotExist">
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.DoesNotExist" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.DoesNotExist" title="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.DoesNotExist</span></code></a></p>
</dd></dl>
<dl class="py exception">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.MultipleObjectsReturned">
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.MultipleObjectsReturned" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.MultipleObjectsReturned" title="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.MultipleObjectsReturned</span></code></a></p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.path">
<code class="sig-name descname">path</code><em class="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.typename">
<code class="sig-name descname">typename</code><em class="property"> = 'EvAdventureDungeonStartRoom'</em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.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.evadventure.enums.html" title="evennia.contrib.tutorials.evadventure.enums"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.commands.html" title="evennia.contrib.tutorials.evadventure.commands"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.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.evadventure.html" >evennia.contrib.tutorials.evadventure</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.evadventure.dungeon</a></li>
</ul>
</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>