<h1>Puzzles System<aclass="headerlink"href="#puzzles-system"title="Permalink to this headline">¶</a></h1>
<p>Contribution by Henddher 2018</p>
<p>Intended for adventure-game style combination puzzles, such as combining fruits
and a blender to create a smoothie. Provides a typeclass and commands for objects
that can be combined (i.e. used together). Unlike the <codeclass="docutils literal notranslate"><spanclass="pre">crafting</span></code> contrib, each
puzzle is built from unique objects rather than using tags and a builder can create
the puzzle entirely from in-game.</p>
<p>A <codeclass="docutils literal notranslate"><spanclass="pre">Puzzle</span></code> is a recipe of what objects (aka parts) must be combined by a player so
a new set of objects (aka results) are automatically created.</p>
<sectionid="installation">
<h2>Installation<aclass="headerlink"href="#installation"title="Permalink to this headline">¶</a></h2>
<p>Add the <codeclass="docutils literal notranslate"><spanclass="pre">PuzzleSystemCmdSet</span></code> to all players (e.g. in their Character typeclass).</p>
Genius, you blended all fruits to create a fruit smoothie!
</pre></div>
</div>
</section>
<sectionid="details">
<h2>Details<aclass="headerlink"href="#details"title="Permalink to this headline">¶</a></h2>
<p>Puzzles are created from existing objects. The given
objects are introspected to create prototypes for the
puzzle parts and results. These prototypes become the
puzzle recipe. (See PuzzleRecipe and <codeclass="docutils literal notranslate"><spanclass="pre">puzzle</span></code>
command). Once the recipe is created, all parts and result
can be disposed (i.e. destroyed).</p>
<p>At a later time, a Builder or a Script can arm the puzzle
and spawn all puzzle parts in their respective
locations (See armpuzzle).</p>
<p>A regular player can collect the puzzle parts and combine
them (See use command). If player has specified
all pieces, the puzzle is considered solved and all
its puzzle parts are destroyed while the puzzle results
are spawened on their corresponding location.</p>
<hrclass="docutils"/>
<p><small>This document page is generated from <codeclass="docutils literal notranslate"><spanclass="pre">evennia/contrib/game_systems/puzzles/README.md</span></code>. Changes to this
file will be overwritten, so edit that file rather than this one.</small></p>