<spanid="evennia-contrib-grid-wilderness-wilderness"></span><h1>evennia.contrib.grid.wilderness.wilderness<aclass="headerlink"href="#module-evennia.contrib.grid.wilderness.wilderness"title="Permalink to this headline">¶</a></h1>
<p>Wilderness system</p>
<p>Evennia contrib - titeuf87 2017</p>
<p>This contrib provides a wilderness map. This is an area that can be huge where
the rooms are mostly similar, except for some small cosmetic changes like the
room name.</p>
<sectionid="usage">
<h2>Usage<aclass="headerlink"href="#usage"title="Permalink to this headline">¶</a></h2>
<p>This contrib does not provide any new commands. Instead the default <strong>py</strong> command
is used.</p>
<p>A wilderness map needs to created first. There can be different maps, all
with their own name. If no name is provided, then a default one is used. Internally,
the wilderness is stored as a Script with the name you specify. If you don’t
specify the name, a script named “default” will be created and used.</p>
<blockquote>
<div><p>py from evennia.contrib.grid import wilderness; wilderness.create_wilderness()</p>
</div></blockquote>
<p>Once created, it is possible to move into that wilderness map:</p>
<blockquote>
<div><p>py from evennia.contrib.grid import wilderness; wilderness.enter_wilderness(me)</p>
</div></blockquote>
<p>All coordinates used by the wilderness map are in the format of <strong>(x, y)</strong>
tuples. x goes from left to right and y goes from bottom to top. So <strong>(0, 0)</strong>
is the bottom left corner of the map.</p>
</section>
<sectionid="customisation">
<h2>Customisation<aclass="headerlink"href="#customisation"title="Permalink to this headline">¶</a></h2>
<p>The defaults, while useable, are meant to be customised. When creating a
new wilderness map it is possible to give a “map provider”: this is a
python object that is smart enough to create the map.</p>
<p>The default provider, <strong>WildernessMapProvider</strong>, creates a grid area that
is unlimited in size.</p>
<p><strong>WildernessMapProvider</strong> can be subclassed to create more interesting maps
and also to customize the room/exit typeclass used.</p>
<p>There is also no command that allows players to enter the wilderness. This
still needs to be added: it can be a command or an exit, depending on your
needs.</p>
</section>
<sectionid="example">
<h2>Example<aclass="headerlink"href="#example"title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><p>To give an example of how to customize, we will create a very simple (and
small) wilderness map that is shaped like a pyramid. The map will be
provided as a string: a “.” symbol is a location we can walk on.</p>
<codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">create_wilderness</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">name</span><spanclass="o">=</span><spanclass="default_value">'default'</span></em>, <emclass="sig-param"><spanclass="n">mapprovider</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">preserve_items</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#create_wilderness"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.create_wilderness"title="Permalink to this definition">¶</a></dt>
<dd><p>Creates a new wilderness map. Does nothing if a wilderness map already
exists with the same name.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>name</strong> (<em>str</em><em>, </em><em>optional</em>) – the name to use for that wilderness map</p></li>
<li><p><strong>mapprovider</strong> (<em>WildernessMap instance</em><em>, </em><em>optional</em>) – an instance of a
WildernessMap class (or subclass) that will be used to provide the
layout of this wilderness map. If none is provided, the default
<codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">enter_wilderness</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">coordinates</span><spanclass="o">=</span><spanclass="default_value">0, 0</span></em>, <emclass="sig-param"><spanclass="n">name</span><spanclass="o">=</span><spanclass="default_value">'default'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#enter_wilderness"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.enter_wilderness"title="Permalink to this definition">¶</a></dt>
<dd><p>Moves obj into the wilderness. The wilderness needs to exist first and the
provided coordinates needs to be valid inside that wilderness.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>obj</strong> (<em>object</em>) – the object to move into the wilderness</p></li>
<li><p><strong>coordinates</strong> (<em>tuple</em><em>)</em><em>, </em><em>optional</em>) – the coordinates to move obj to into
the wilderness. If not provided, defaults (0, 0)</p></li>
<li><p><strong>name</strong> (<em>str</em><em>, </em><em>optional</em>) – name of the wilderness map, if not using the
default one</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– True if obj successfully moved into the wilderness.</p>
<codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">get_new_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">coordinates</span></em>, <emclass="sig-param"><spanclass="n">direction</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#get_new_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.get_new_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the coordinates of direction applied to the provided coordinates.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>coordinates</strong>– tuple of (x, y)</p></li>
<li><p><strong>direction</strong>– a direction string (like “northeast”)</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>tuple</em>– tuple of (x, y) coordinates</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">WildernessScript</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/grid/wilderness/wilderness.html#WildernessScript"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">mapprovider</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.mapprovider"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">itemcoordinates</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.itemcoordinates"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">preserve_items</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.preserve_items"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/grid/wilderness/wilderness.html#WildernessScript.at_script_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.at_script_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Only called once, when the script is created. This is a default Evennia
<codeclass="sig-name descname">at_server_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessScript.at_server_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.at_server_start"title="Permalink to this definition">¶</a></dt>
<dd><p>Called after the server is started or reloaded.</p>
<codeclass="sig-name descname">is_valid_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">coordinates</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessScript.is_valid_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.is_valid_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns True if coordinates are valid (and can be travelled to).
Otherwise returns False</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>coordinates</strong> (<em>tuple</em>) – coordinates as (x, y) tuple</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– True if the coordinates are valid</p>
<codeclass="sig-name descname">get_obj_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessScript.get_obj_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.get_obj_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the coordinates of obj in the wilderness.</p>
<p>Returns (x, y)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>object</em>) – an object inside the wilderness</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>tuple</em>– (x, y) tuple of where obj is located</p>
<codeclass="sig-name descname">get_objs_at_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">coordinates</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessScript.get_objs_at_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.get_objs_at_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a list of every object at certain coordinates.</p>
<p>Imeplementation detail: this uses a naive iteration through every
object inside the wilderness which could cause slow downs when there
are a lot of objects in the map.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>coordinates</strong> (<em>tuple</em>) – a coordinate tuple like (x, y)</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>[Object, ]</em>– list of Objects at coordinates</p>
<codeclass="sig-name descname">move_obj</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="n">new_coordinates</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessScript.move_obj"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.move_obj"title="Permalink to this definition">¶</a></dt>
<dd><p>Moves obj to new coordinates in this wilderness.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>obj</strong> (<em>object</em>) – the object to move</p></li>
<li><p><strong>new_coordinates</strong> (<em>tuple</em>) – tuple of (x, y) where to move obj to.</p></li>
<codeclass="sig-name descname">at_post_object_leave</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessScript.at_post_object_leave"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.at_post_object_leave"title="Permalink to this definition">¶</a></dt>
<dd><p>Called after an object left this wilderness map. Used for cleaning up.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>object</em>) – the object that left</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.grid.wilderness.wilderness.WildernessScript'</em><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'WildernessScript'</em><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessScript.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">WildernessRoom</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/grid/wilderness/wilderness.html#WildernessRoom"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">wilderness</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.wilderness"title="Permalink to this definition">¶</a></dt>
<dd><p>Shortcut property to the wilderness script this room belongs to.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>WildernessScript</em>– the WildernessScript attached to this room</p>
<emclass="property">property </em><codeclass="sig-name descname">location_name</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.location_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the name of the wilderness at this room’s coordinates.</p>
<emclass="property">property </em><codeclass="sig-name descname">coordinates</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the coordinates of this room into the wilderness.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>tuple</em>–</p>
<dlclass="simple">
<dt>(x, y) coordinates of where this room is inside the</dt><dd><p>wilderness.</p>
<codeclass="sig-name descname">at_object_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_obj</span></em>, <emclass="sig-param"><spanclass="n">source_location</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessRoom.at_object_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.at_object_receive"title="Permalink to this definition">¶</a></dt>
<dd><p>Called after an object has been moved into this object. This is a
default Evennia hook.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>moved_obj</strong> (<em>Object</em>) – The object moved into this one.</p></li>
<li><p><strong>source_location</strong> (<em>Object</em>) – Where <strong>moved_obj</strong> came from.</p></li>
<codeclass="sig-name descname">at_object_leave</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">moved_obj</span></em>, <emclass="sig-param"><spanclass="n">target_location</span></em>, <emclass="sig-param"><spanclass="n">move_type</span><spanclass="o">=</span><spanclass="default_value">'move'</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessRoom.at_object_leave"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.at_object_leave"title="Permalink to this definition">¶</a></dt>
<dd><p>Called just before an object leaves from inside this object. This is a
default Evennia hook.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>moved_obj</strong> (<em>Object</em>) – The object leaving</p></li>
<li><p><strong>target_location</strong> (<em>Object</em>) – Where <strong>moved_obj</strong> is going.</p></li>
<codeclass="sig-name descname">set_active_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">new_coordinates</span></em>, <emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessRoom.set_active_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.set_active_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Changes this room to show the wilderness map from other coordinates.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>new_coordinates</strong> (<em>tuple</em>) – coordinates as tuple of (x, y)</p></li>
<li><p><strong>obj</strong> (<em>Object</em>) – the object that moved into this room and caused the
<codeclass="sig-name descname">get_display_name</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/grid/wilderness/wilderness.html#WildernessRoom.get_display_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.get_display_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Displays the name of the object in a viewer-aware manner.
This is a core evennia hook.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>looker</strong> (<aclass="reference internal"href="evennia.typeclasses.models.html#evennia.typeclasses.models.TypedObject"title="evennia.typeclasses.models.TypedObject"><em>TypedObject</em></a>) – The object or account that is looking
<codeclass="sig-name descname">get_display_desc</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/grid/wilderness/wilderness.html#WildernessRoom.get_display_desc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.get_display_desc"title="Permalink to this definition">¶</a></dt>
<dd><p>Displays the description of the room. This is a core evennia hook.</p>
<p>Allows the room’s description to be customized in an ndb value,
avoiding having to write to the database on moving.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.grid.wilderness.wilderness.WildernessRoom'</em><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'WildernessRoom'</em><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">WildernessExit</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/grid/wilderness/wilderness.html#WildernessExit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">wilderness</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.wilderness"title="Permalink to this definition">¶</a></dt>
<dd><p>Shortcut property to the wilderness script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>WildernessScript</em>– the WildernessScript attached to this exit’s room</p>
<emclass="property">property </em><codeclass="sig-name descname">mapprovider</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.mapprovider"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_traverse_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">traversing_object</span></em>, <emclass="sig-param"><spanclass="n">current_coordinates</span></em>, <emclass="sig-param"><spanclass="n">new_coordinates</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessExit.at_traverse_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.at_traverse_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when an object wants to travel from one place inside the
wilderness to another place inside the wilderness.</p>
<p>If this returns True, then the traversing can happen. Otherwise it will
be blocked.</p>
<p>This method is similar how the <strong>at_traverse</strong> works on normal exits.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>traversing_object</strong> (<em>Object</em>) – The object doing the travelling.</p></li>
<li><p><strong>current_coordinates</strong> (<em>tuple</em>) – (x, y) coordinates where
<strong>traversing_object</strong> currently is.</p></li>
<li><p><strong>new_coordinates</strong> (<em>tuple</em>) – (x, y) coordinates of where
<strong>traversing_object</strong> wants to travel to.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– True if traversing_object is allowed to traverse</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><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessExit.at_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.at_traverse"title="Permalink to this definition">¶</a></dt>
<dd><p>This implements the actual traversal. The traverse lock has
already been checked (in the Exit command) at this point.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.grid.wilderness.wilderness.WildernessExit'</em><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'WildernessExit'</em><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.wilderness.wilderness.</code><codeclass="sig-name descname">WildernessMapProvider</code><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessMapProvider"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessMapProvider"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">room_typeclass</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessMapProvider.room_typeclass"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom"title="evennia.contrib.grid.wilderness.wilderness.WildernessRoom"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">WildernessRoom</span></code></a></p>
<codeclass="sig-name descname">exit_typeclass</code><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessMapProvider.exit_typeclass"title="Permalink to this definition">¶</a></dt>
<dd><p>alias of <aclass="reference internal"href="#evennia.contrib.grid.wilderness.wilderness.WildernessExit"title="evennia.contrib.grid.wilderness.wilderness.WildernessExit"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">WildernessExit</span></code></a></p>
<codeclass="sig-name descname">is_valid_coordinates</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">wilderness</span></em>, <emclass="sig-param"><spanclass="n">coordinates</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessMapProvider.is_valid_coordinates"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessMapProvider.is_valid_coordinates"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns True if coordinates is valid and can be walked to.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>wilderness</strong>– the wilderness script</p></li>
<li><p><strong>coordinates</strong> (<em>tuple</em>) – the coordinates to check as (x, y) tuple.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– True if the coordinates are valid</p>
<codeclass="sig-name descname">get_location_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">coordinates</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessMapProvider.get_location_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessMapProvider.get_location_name"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a name for the position at coordinates.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>coordinates</strong> (<em>tuple</em>) – the coordinates as (x, y) tuple.</p>
<codeclass="sig-name descname">at_prepare_room</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">coordinates</span></em>, <emclass="sig-param"><spanclass="n">caller</span></em>, <emclass="sig-param"><spanclass="n">room</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/wilderness/wilderness.html#WildernessMapProvider.at_prepare_room"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.wilderness.wilderness.WildernessMapProvider.at_prepare_room"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when a room gets activated for certain coordinates. This happens
after every object is moved in it.
This can be used to set a custom room desc for instance or run other
customisations on the room.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>coordinates</strong> (<em>tuple</em>) – the coordinates as (x, y) where room is
located at</p></li>
<li><p><strong>caller</strong> (<em>Object</em>) – the object that moved into this room</p></li>
<li><p><strong>room</strong> (<aclass="reference internal"href="#evennia.contrib.grid.wilderness.wilderness.WildernessRoom"title="evennia.contrib.grid.wilderness.wilderness.WildernessRoom"><em>WildernessRoom</em></a>) – the room object that will be used at that
wilderness location</p></li>
</ul>
</dd>
</dl>
<pclass="rubric">Example</p>
<p>An example use of this would to plug in a randomizer to show different
descriptions for different coordinates, or place a treasure at a special