<spanid="evennia-contrib-extended-room"></span><h1>evennia.contrib.extended_room<aclass="headerlink"href="#module-evennia.contrib.extended_room"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.extended_room.</code><codeclass="sig-name descname">ExtendedRoom</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/extended_room.html#ExtendedRoom"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom"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/extended_room.html#ExtendedRoom.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.at_object_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Called when room is first created only.</p>
<codeclass="sig-name descname">get_time_and_season</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#ExtendedRoom.get_time_and_season"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.get_time_and_season"title="Permalink to this definition">¶</a></dt>
<dd><p>Calculate the current time and season ids.</p>
<codeclass="sig-name descname">replace_timeslots</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">raw_desc</span></em>, <emclass="sig-param"><spanclass="n">curr_time</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#ExtendedRoom.replace_timeslots"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.replace_timeslots"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">return_detail</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#ExtendedRoom.return_detail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.return_detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">set_detail</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">detailkey</span></em>, <emclass="sig-param"><spanclass="n">description</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#ExtendedRoom.set_detail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.set_detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">del_detail</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">detailkey</span></em>, <emclass="sig-param"><spanclass="n">description</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#ExtendedRoom.del_detail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.del_detail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">return_appearance</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/extended_room.html#ExtendedRoom.return_appearance"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.return_appearance"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">update_current_description</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#ExtendedRoom.update_current_description"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.update_current_description"title="Permalink to this definition">¶</a></dt>
<dd><p>This will update the description of the room if the time or season
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.extended_room.ExtendedRoom'</em><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'ExtendedRoom'</em><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoom.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.extended_room.</code><codeclass="sig-name descname">CmdExtendedRoomLook</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/extended_room.html#CmdExtendedRoomLook"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomLook"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/extended_room.html#CmdExtendedRoomLook.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomLook.func"title="Permalink to this definition">¶</a></dt>
<dd><p>Handle the looking - add fallback to details.</p>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['ls', 'l']</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomLook.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomLook.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'look'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomLook.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomLook.lock_storage"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.extended_room.</code><codeclass="sig-name descname">CmdExtendedRoomDesc</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/extended_room.html#CmdExtendedRoomDesc"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['describe']</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">switch_options</code><emclass="property"> = ()</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.switch_options"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">reset_times</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/extended_room.html#CmdExtendedRoomDesc.reset_times"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.reset_times"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/extended_room.html#CmdExtendedRoomDesc.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'building'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = '@desc'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:perm(desc) or perm(Builder)'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': 'describe', 'category': 'building', 'key': '@desc', 'no_prefix': 'desc ', 'tags': '', 'text': '\n `desc` - describe an object or room.\n\n Usage:\n desc[/switch] [<obj> =] <description>\n\n Switches for `desc`:\n spring - set description for <season> in current room.\n summer\n autumn\n winter\n\n Sets the "desc" attribute on an object. If an object is not given,\n describe the current room.\n\n You can also embed special time markers in your room description, like this:\n\n ```\n <night>In the darkness, the forest looks foreboding.</night>.\n ```\n\n Text marked this way will only display when the server is truly at the given\n timeslot. The available times are night, morning, afternoon and evening.\n\n Note that seasons and time-of-day slots only work on rooms in this\n version of the `desc` command.\n\n '}</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDesc.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.extended_room.</code><codeclass="sig-name descname">CmdExtendedRoomDetail</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/extended_room.html#CmdExtendedRoomDetail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = '@detail'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">locks</code><emclass="property"> = 'cmd:perm(Builder)'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.locks"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'building'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.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/extended_room.html#CmdExtendedRoomDetail.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.func"title="Permalink to this definition">¶</a></dt>
<dd><p>This is the hook function that actually does all the work. It is called
by the cmdhandler right after self.parser() finishes, and so has access
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:perm(Builder)'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'building', 'key': '@detail', 'no_prefix': 'detail ', 'tags': '', 'text': '\n sets a detail on a room\n\n Usage:\n @detail[/del] <key> [= <description>]\n @detail <key>;<alias>;... = description\n\n Example:\n @detail\n @detail walls = The walls are covered in ...\n @detail castle;ruin;tower = The distant ruin ...\n @detail/del wall\n @detail/del castle;ruin;tower\n\n This command allows to show the current room details if you enter it\n without any argument. Otherwise, sets or deletes a detail on the current\n room, if this room supports details like an extended room. To add new\n detail, just use the @detail command, specifying the key, an equal sign\n and the description. You can assign the same description to several\n details using the alias syntax (replace key by alias1;alias2;alias3;...).\n To remove one or several details, use the @detail/del switch.\n\n '}</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomDetail.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.extended_room.</code><codeclass="sig-name descname">CmdExtendedRoomGameTime</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/extended_room.html#CmdExtendedRoomGameTime"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'time'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">locks</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.locks"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.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/extended_room.html#CmdExtendedRoomGameTime.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'general', 'key': 'time', 'no_prefix': ' ', 'tags': '', 'text': '\n Check the game time\n\n Usage:\n time\n\n Shows the current in-game time and season.\n '}</em><aclass="headerlink"href="#evennia.contrib.extended_room.CmdExtendedRoomGameTime.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.extended_room.</code><codeclass="sig-name descname">ExtendedRoomCmdSet</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/extended_room.html#ExtendedRoomCmdSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoomCmdSet"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/extended_room.html#ExtendedRoomCmdSet.at_cmdset_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoomCmdSet.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.extended_room.ExtendedRoomCmdSet'</em><aclass="headerlink"href="#evennia.contrib.extended_room.ExtendedRoomCmdSet.path"title="Permalink to this definition">¶</a></dt>