<spanid="evennia-contrib-simpledoor"></span><h1>evennia.contrib.simpledoor<aclass="headerlink"href="#module-evennia.contrib.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>
<blockquote>
<div><p>Import this module in mygame/commands/default_cmdsets and add
the CmdOpen and CmdOpenCloseDoor commands to the CharacterCmdSet;
then reload the server.</p>
</div></blockquote>
<p>To try it out, <strong>@dig</strong> a new room and then use the (overloaded) <strong>@open</strong>
commmand to open a new doorway to it like this:</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.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/simpledoor.html#SimpleDoor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.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/simpledoor.html#SimpleDoor.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.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/simpledoor.html#SimpleDoor.setlock"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.simpledoor.SimpleDoor.setlock"title="Permalink to this definition">¶</a></dt>
<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/simpledoor.html#SimpleDoor.setdesc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.simpledoor.SimpleDoor.setdesc"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/simpledoor.html#SimpleDoor.delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.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/simpledoor.html#SimpleDoor.at_failed_traverse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.simpledoor.SimpleDoor.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.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.simpledoor.SimpleDoor.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.simpledoor.SimpleDoor'</em><aclass="headerlink"href="#evennia.contrib.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.simpledoor.SimpleDoor.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.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/simpledoor.html#CmdOpen"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.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/simpledoor.html#CmdOpen.create_exit"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.simpledoor.CmdOpen.create_exit"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.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.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.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.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', '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.simpledoor.CmdOpen.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.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/simpledoor.html#CmdOpenCloseDoor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.simpledoor.CmdOpenCloseDoor"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'open'</em><aclass="headerlink"href="#evennia.contrib.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.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.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.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/simpledoor.html#CmdOpenCloseDoor.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.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.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', '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.simpledoor.CmdOpenCloseDoor.search_index_entry"title="Permalink to this definition">¶</a></dt>