<h1>Item Storage<aclass="headerlink"href="#item-storage"title="Permalink to this headline">¶</a></h1>
<p>Contribution by helpme (2024)</p>
<p>This module allows certain rooms to be marked as storage locations.</p>
<p>In those rooms, players can <codeclass="docutils literal notranslate"><spanclass="pre">list</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">store</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">retrieve</span></code> items. Storages can be shared or individual.</p>
<sectionid="installation">
<h2>Installation<aclass="headerlink"href="#installation"title="Permalink to this headline">¶</a></h2>
<p>This utility adds the storage-related commands. Import the module into your commands and add it to your command set to make it available.</p>
<p>Specifically, in <codeclass="docutils literal notranslate"><spanclass="pre">mygame/commands/default_cmdsets.py</span></code>:</p>
<p>Then <codeclass="docutils literal notranslate"><spanclass="pre">reload</span></code> to make the <codeclass="docutils literal notranslate"><spanclass="pre">list</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">retrieve</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">store</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">storage</span></code> commands available.</p>
</section>
<sectionid="usage">
<h2>Usage<aclass="headerlink"href="#usage"title="Permalink to this headline">¶</a></h2>
<p>To mark a location as having item storage, use the <codeclass="docutils literal notranslate"><spanclass="pre">storage</span></code> command. By default this is a builder-level command. Storage can be shared, which means everyone using the storage can access all items stored there, or individual, which means only the person who stores an item can retrieve it. See <codeclass="docutils literal notranslate"><spanclass="pre">help</span><spanclass="pre">storage</span></code> for further details.</p>
</section>
<sectionid="technical-info">
<h2>Technical info<aclass="headerlink"href="#technical-info"title="Permalink to this headline">¶</a></h2>
<p>This is a tag-based system. Rooms set as storage rooms are tagged with an identifier marking them as shared or not. Items stored in those rooms are tagged with the storage room identifier and, if the storage room is not shared, the character identifier, and then they are removed from the grid i.e. their location is set to <codeclass="docutils literal notranslate"><spanclass="pre">None</span></code>. Upon retrieval, items are untagged and moved back to character inventories.</p>
<p>When a room is unmarked as storage with the <codeclass="docutils literal notranslate"><spanclass="pre">storage</span></code> command, all stored objects are untagged and dropped to the room. You should use the <codeclass="docutils literal notranslate"><spanclass="pre">storage</span></code> command to create and remove storages, as otherwise stored objects may become lost.</p>
<hrclass="docutils"/>
<p><small>This document page is generated from <codeclass="docutils literal notranslate"><spanclass="pre">evennia/contrib/game_systems/storage/README.md</span></code>. Changes to this
file will be overwritten, so edit that file rather than this one.</small></p>