<spanid="evennia-contrib-grid-simpledoor-simpledoor"></span><h1>evennia.contrib.grid.simpledoor.simpledoor<aclass="headerlink"href="#module-evennia.contrib.grid.simpledoor.simpledoor"title="Permalink to this headline">¶</a></h1>
<p>SimpleDoor</p>
<p>Contribution - Griatch 2016</p>
<p>A simple two-way exit that represents a door that can be opened and
closed. Can easily be expanded from to make it lockable, destroyable
etc. Note that the simpledoor is based on Evennia locks, so it will
not work for a superuser (which bypasses all locks) - the superuser
will always appear to be able to close/open the door over and over
without the locks stopping you. To use the door, use <strong>@quell</strong> or a
non-superuser account.</p>
<p>Installation:</p>
<p>Import this module in mygame/commands/default_cmdsets and add
the SimpleDoorCmdSet to your CharacterCmdSet:</p>
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># in mygame/commands/default_cmdsets.py</span>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.simpledoor.simpledoor.</code><codeclass="sig-name descname">SimpleDoor</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/simpledoor/simpledoor.html#SimpleDoor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor"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/grid/simpledoor/simpledoor.html#SimpleDoor.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.at_object_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Called the very first time the door is created.</p>
<codeclass="sig-name descname">setlock</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">lockstring</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#SimpleDoor.setlock"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.setlock"title="Permalink to this definition">¶</a></dt>
<dd><p>Sets identical locks on both sides of the door.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>lockstring</strong> (<em>str</em>) – A lockstring, like <strong>“traverse:true()”</strong>.</p>
<codeclass="sig-name descname">setdesc</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">description</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#SimpleDoor.setdesc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.setdesc"title="Permalink to this definition">¶</a></dt>
<dd><p>Sets identical descs on both sides of the door.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>setdesc</strong> (<em>str</em>) – A description.</p>
<codeclass="sig-name descname">delete</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#SimpleDoor.delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.delete"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><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#SimpleDoor.at_failed_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.at_failed_traverse"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when door traverse: lock fails.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>traversing_object</strong> (<em>Typeclassed entity</em>) – The object
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'SimpleDoor'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoor.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.simpledoor.simpledoor.</code><codeclass="sig-name descname">CmdOpen</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#CmdOpen"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">create_exit</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">exit_name</span></em>, <emclass="sig-param"><spanclass="n">location</span></em>, <emclass="sig-param"><spanclass="n">destination</span></em>, <emclass="sig-param"><spanclass="n">exit_aliases</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#CmdOpen.create_exit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen.create_exit"title="Permalink to this definition">¶</a></dt>
<dd><p>Simple wrapper for the default CmdOpen.create_exit</p>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'building'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = '@open'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:perm(open) or perm(Builder)'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'building', 'key': '@open', 'no_prefix': 'open ', 'tags': '', 'text': '\n open a new exit from the current room\n\n Usage:\n open <new exit>[;alias;alias..][:typeclass] [,<return exit>[;alias;..][:typeclass]]] = <destination>\n\n Handles the creation of exits. If a destination is given, the exit\n will point there. The <return exit> argument sets up an exit at the\n destination leading back to the current room. Destination name\n can be given both as a #dbref and a name, if that name is globally\n unique.\n\n '}</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpen.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.simpledoor.simpledoor.</code><codeclass="sig-name descname">CmdOpenCloseDoor</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#CmdOpenCloseDoor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'open'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['close']</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">locks</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.locks"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#CmdOpenCloseDoor.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': 'close', 'category': 'general', 'key': 'open', 'no_prefix': ' close', 'tags': '', 'text': '\n Open and close a door\n\n Usage:\n open <door>\n close <door>\n\n '}</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.CmdOpenCloseDoor.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.grid.simpledoor.simpledoor.</code><codeclass="sig-name descname">SimpleDoorCmdSet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">cmdsetobj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#SimpleDoorCmdSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoorCmdSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_cmdset_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/grid/simpledoor/simpledoor.html#SimpleDoorCmdSet.at_cmdset_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoorCmdSet.at_cmdset_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Hook method - this should be overloaded in the inheriting
class, and should take care of populating the cmdset by use of
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.grid.simpledoor.simpledoor.SimpleDoorCmdSet'</em><aclass="headerlink"href="#evennia.contrib.grid.simpledoor.simpledoor.SimpleDoorCmdSet.path"title="Permalink to this definition">¶</a></dt>