<spanid="evennia-contrib-tutorials-evadventure-dungeon"></span><h1>evennia.contrib.tutorials.evadventure.dungeon<aclass="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)
<codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">random</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ x in the interval [0, 1).<aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.random"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureDungeonRoom</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonRoom"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">allow_combat</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.allow_combat"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">allow_death</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.allow_death"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">dungeon_branch</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.dungeon_branch"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">xy_coords</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.xy_coords"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonRoom.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<codeclass="sig-name descname">clear_room</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonRoom.clear_room"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.clear_room"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">is_room_clear</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.is_room_clear"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_display_footer</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonRoom.get_display_footer"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureDungeonRoom'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonRoom.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureDungeonExit</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonExit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonExit.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<codeclass="sig-name descname">at_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">target_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonExit.at_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_traverse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_failed_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonExit.at_failed_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.at_failed_traverse"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureDungeonExit'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonExit.typename"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">room_generator</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dungeon_branch</span></em>, <emclass="sig-param"><spanclass="n">depth</span></em>, <emclass="sig-param"><spanclass="n">coords</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#room_generator"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.room_generator"title="Permalink to this definition">¶</a></dt>
<li><p><strong>dungeon_branch</strong> (<aclass="reference internal"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch"title="evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch"><em>EvAdventureDungeonBranch</em></a>) – The current dungeon branch.</p></li>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureDungeonBranch</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranch"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">max_unexplored_exits</code><emclass="property"> = 2</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.max_unexplored_exits"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">max_new_exits_per_room</code><emclass="property"> = 2</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.max_new_exits_per_room"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">rooms</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.rooms"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">unvisited_exits</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.unvisited_exits"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">last_updated</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.last_updated"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">room_generator</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.room_generator"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">xy_grid</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.xy_grid"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">start_room</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.start_room"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">register_exit_traversed</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">exit</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranch.register_exit_traversed"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.register_exit_traversed"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">create_out_exit</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">location</span></em>, <emclass="sig-param"><spanclass="n">exit_direction</span><spanclass="o">=</span><spanclass="default_value">'north'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranch.create_out_exit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.create_out_exit"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">delete</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranch.delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.delete"title="Permalink to this definition">¶</a></dt>
<dd><p>Clean up the entire dungeon along with the branch.</p>
<codeclass="sig-name descname">new_room</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">from_exit</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranch.new_room"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.new_room"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureDungeonBranch'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranch.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureDungeonStartRoomExit</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoomExit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">reset_exit</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoomExit.reset_exit"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<codeclass="sig-name descname">at_traverse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">target_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoomExit.at_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.at_traverse"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureDungeonStartRoomExit'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoomExit.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureDungeonBranchDeleter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranchDeleter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">branch_max_life</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.branch_max_life"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_script_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranchDeleter.at_script_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.at_script_creation"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_repeat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonBranchDeleter.at_repeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.at_repeat"title="Permalink to this definition">¶</a></dt>
<dd><p>Go through all dungeon-branchs and find which ones are too old.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureDungeonBranchDeleter'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonBranchDeleter.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureStartRoomResetter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureStartRoomResetter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_script_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureStartRoomResetter.at_script_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.at_script_creation"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_repeat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureStartRoomResetter.at_repeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.at_repeat"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureStartRoomResetter'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureStartRoomResetter.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.dungeon.</code><codeclass="sig-name descname">EvAdventureDungeonStartRoom</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoom"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom"title="Permalink to this definition">¶</a></dt>
<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>
<ulclass="simple">
<li><dlclass="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><dlclass="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>
<codeclass="sig-name descname">recycle_time</code><emclass="property"> = 300</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.recycle_time"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">branch_check_time</code><emclass="property"> = 3600</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.branch_check_time"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">branch_max_life</code><emclass="property"> = 604800</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.branch_max_life"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">room_generator</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.room_generator"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_display_footer</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoom.get_display_footer"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoom.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<codeclass="sig-name descname">at_object_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">source_location</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/dungeon.html#EvAdventureDungeonStartRoom.at_object_receive"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureDungeonStartRoom'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.dungeon.EvAdventureDungeonStartRoom.typename"title="Permalink to this definition">¶</a></dt>