evennia/docs/latest/api/evennia.contrib.tutorials.evadventure.quests.html
Evennia docbuilder action 243d596662 Updated HTML docs.
2025-08-15 18:14:21 +00:00

645 lines
No EOL
57 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.contrib.tutorials.evadventure.quests &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.contrib.tutorials.evadventure.random_tables" href="evennia.contrib.tutorials.evadventure.random_tables.html" />
<link rel="prev" title="evennia.contrib.tutorials.evadventure.objects" href="evennia.contrib.tutorials.evadventure.objects.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.random_tables.html" title="evennia.contrib.tutorials.evadventure.random_tables"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.objects.html" title="evennia.contrib.tutorials.evadventure.objects"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.evadventure.html" accesskey="U">evennia.contrib.tutorials.evadventure</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.evadventure.quests</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.contrib.tutorials.evadventure.quests">
<span id="evennia-contrib-tutorials-evadventure-quests"></span><h1>evennia.contrib.tutorials.evadventure.quests<a class="headerlink" href="#module-evennia.contrib.tutorials.evadventure.quests" title="Link to this heading"></a></h1>
<p>A simple quest system for EvAdventure.</p>
<p>A quest is represented by a quest-handler sitting as
<strong>.quests</strong> on a Character. Individual Quests are child classes of <strong>EvAdventureQuest</strong> with
methods for each step of the quest. The quest handler can add, remove, and track the progress
by calling the <strong>progress</strong> method on the quest. Persistent changes are stored on the quester
using the <strong>add_data</strong> and <strong>get_data</strong> methods with an Attribute as storage backend.</p>
<p>A quest ending can mean a reward or the start of
another quest.</p>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.quests.</span></span><span class="sig-name descname"><span class="pre">EvAdventureQuest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quester</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>This represents a single questing unit of quest.</p>
<dl class="simple">
<dt>Properties:</dt><dd><p>name (str): Main identifier for the quest.
category (str, optional): This + name must be globally unique.</p>
</dd>
</dl>
<p>it ends - it then pauses after the last completed step.</p>
<p>Each step of the quest is represented by a <strong>.step_&lt;stepname&gt;</strong> method. This should check
the status of the quest-step and update the <strong>.current_step</strong> or call <strong>.complete()</strong>. There
are also <strong>.help_&lt;stepname&gt;</strong> which is either a class-level help string or a method
returning a help text. All properties should be stored on the quester.</p>
<p>Example:
py
class MyQuest(EvAdventureQuest):</p>
<blockquote>
<div><p>A quest with two steps that ar</p>
<p>start_step = “A”</p>
<p>help_A = “You need a A_flag attribute on yourself to finish this step!”
help_B = “Finally, you need more than 4 items in your inventory!”</p>
<dl class="simple">
<dt>def step_A(self, <a href="#id1"><span class="problematic" id="id2">*</span></a>args, <a href="#id3"><span class="problematic" id="id4">**</span></a>kwargs):</dt><dd><dl class="simple">
<dt>if self.get_data(“A_flag”) == True:</dt><dd><p>self.quester.msg(“Completed the first step of the quest.”)
self.current_step = “end”
self.progress()</p>
</dd>
</dl>
</dd>
</dl>
<p>def step_B(self, <a href="#id5"><span class="problematic" id="id6">*</span></a>args, <a href="#id7"><span class="problematic" id="id8">**</span></a>kwargs):</p>
<dl class="simple">
<dt>def step_end(self, <a href="#id9"><span class="problematic" id="id10">*</span></a>args, <a href="#id11"><span class="problematic" id="id12">**</span></a>kwargs):</dt><dd><dl class="simple">
<dt>if len(self.quester.contents) &gt; 4:</dt><dd><p>self.quester.msg(“Quest complete!”)
self.complete()</p>
</dd>
</dl>
</dd>
</dl>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.key">
<span class="sig-name descname"><span class="pre">key</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'base</span> <span class="pre">quest'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.key" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.desc">
<span class="sig-name descname"><span class="pre">desc</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'This</span> <span class="pre">is</span> <span class="pre">the</span> <span class="pre">base</span> <span class="pre">quest</span> <span class="pre">class'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.desc" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.start_step">
<span class="sig-name descname"><span class="pre">start_step</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'start'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.start_step" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help_start">
<span class="sig-name descname"><span class="pre">help_start</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'You</span> <span class="pre">need</span> <span class="pre">to</span> <span class="pre">start</span> <span class="pre">first'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help_start" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help_end">
<span class="sig-name descname"><span class="pre">help_end</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'You</span> <span class="pre">need</span> <span class="pre">to</span> <span class="pre">end</span> <span class="pre">the</span> <span class="pre">quest'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help_end" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quester</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.__init__" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.add_data">
<span class="sig-name descname"><span class="pre">add_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.add_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.add_data" title="Link to this definition"></a></dt>
<dd><p>Add data to the quest. This saves it permanently.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>key</strong> (<em>str</em>) The key to store the data under.</p></li>
<li><p><strong>value</strong> (<em>any</em>) The data to store.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.get_data">
<span class="sig-name descname"><span class="pre">get_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.get_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.get_data" title="Link to this definition"></a></dt>
<dd><p>Get data from the quest.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>key</strong> (<em>str</em>) The key to get data for.</p></li>
<li><p><strong>default</strong> (<em>any</em><em>, </em><em>optional</em>) The default value to return if key is not found.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>any</em> The data stored under the key.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.remove_data">
<span class="sig-name descname"><span class="pre">remove_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.remove_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.remove_data" title="Link to this definition"></a></dt>
<dd><p>Remove data from the quest permanently.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>key</strong> (<em>str</em>) The key to remove.</p>
</dd>
</dl>
</dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.questhandler">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">questhandler</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.questhandler" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.current_step">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">current_step</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.current_step" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.status">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">status</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.status" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_completed">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">is_completed</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_completed" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_abandoned">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">is_abandoned</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_abandoned" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_failed">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">is_failed</span></span><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_failed" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.complete">
<span class="sig-name descname"><span class="pre">complete</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.complete"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.complete" title="Link to this definition"></a></dt>
<dd><p>Complete the quest.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.abandon">
<span class="sig-name descname"><span class="pre">abandon</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.abandon"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.abandon" title="Link to this definition"></a></dt>
<dd><p>Abandon the quest.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.fail">
<span class="sig-name descname"><span class="pre">fail</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.fail"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.fail" title="Link to this definition"></a></dt>
<dd><p>Fail the quest.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.progress">
<span class="sig-name descname"><span class="pre">progress</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.progress"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.progress" title="Link to this definition"></a></dt>
<dd><p>This is called whenever the environment expects a quest may need stepping. This will
determine which quest-step we are on and run <strong>step_&lt;stepname&gt;</strong>, which in turn will figure
out if the step is complete or not.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>*args</strong> Will be passed into the step method.</p></li>
<li><p><strong>**kwargs</strong> <p>Will be passed into the step method.</p>
</p></li>
</ul>
</dd>
</dl>
<p class="rubric">Notes</p>
<p><strong>self.quester</strong> is available as the character following the quest.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help">
<span class="sig-name descname"><span class="pre">help</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.help"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help" title="Link to this definition"></a></dt>
<dd><p>This is used to get help (or a reminder) of what needs to be done to complete the current
quest-step. It will look for a <strong>help_&lt;stepname&gt;</strong> method or string attribute on the quest.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>*args</strong> Will be passed into any help_* method.</p></li>
<li><p><strong>**kwargs</strong> <p>Will be passed into any help_* method.</p>
</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>str</em> The help text for the current step.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.step_start">
<span class="sig-name descname"><span class="pre">step_start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.step_start"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.step_start" title="Link to this definition"></a></dt>
<dd><p>Example step that completes immediately.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.cleanup">
<span class="sig-name descname"><span class="pre">cleanup</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuest.cleanup"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.cleanup" title="Link to this definition"></a></dt>
<dd><p>This is called both when completing the quest, or when it is abandoned prematurely.</p>
<p>This is for cleaning up any extra state that were set during the quest (stuff in self.data
is automatically cleaned up)</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.quests.</span></span><span class="sig-name descname"><span class="pre">EvAdventureQuestHandler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>This sits on the Character, as <strong>.quests</strong>.</p>
<p>Its initiated using a lazy property on the Character:</p>
<p>&#64;lazy_property
def quests(self):</p>
<blockquote>
<div><p>return EvAdventureQuestHandler(self)</p>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_storage_attribute_key">
<span class="sig-name descname"><span class="pre">quest_storage_attribute_key</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'_quests'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_storage_attribute_key" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_storage_attribute_category">
<span class="sig-name descname"><span class="pre">quest_storage_attribute_category</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evadventure'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_storage_attribute_category" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_data_attribute_template">
<span class="sig-name descname"><span class="pre">quest_data_attribute_template</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'_quest_data_{quest_key}'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_data_attribute_template" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_data_attribute_category">
<span class="sig-name descname"><span class="pre">quest_data_attribute_category</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'evadventure'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_data_attribute_category" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.__init__" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.has">
<span class="sig-name descname"><span class="pre">has</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quest_key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.has"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.has" title="Link to this definition"></a></dt>
<dd><p>Check if a given quest is registered with the Character.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>quest_key</strong> (<em>str</em>) The name of the quest to check for.</p></li>
<li><p><strong>quest_category</strong> (<em>str</em><em>, </em><em>optional</em>) Quest category, if any.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>bool</em> If the character is following this quest or not.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.get">
<span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quest_key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.get"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.get" title="Link to this definition"></a></dt>
<dd><p>Get the quest stored on character, if any.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>quest_key</strong> (<em>str</em>) The name of the quest to check for.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><p><em>EvAdventureQuest or None</em> </p>
<dl class="simple">
<dt>The quest stored, or None if</dt><dd><p>Character is not on this quest.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.all">
<span class="sig-name descname"><span class="pre">all</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.all"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.all" title="Link to this definition"></a></dt>
<dd><p>Get all quests stored on character.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><em>list</em> All quests stored on character.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.add">
<span class="sig-name descname"><span class="pre">add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quest_class</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.add"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.add" title="Link to this definition"></a></dt>
<dd><p>Add a new quest</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>quest_class</strong> (<a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest" title="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest"><em>EvAdventureQuest</em></a>) The quest class to start.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.remove">
<span class="sig-name descname"><span class="pre">remove</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quest_key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.remove"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.remove" title="Link to this definition"></a></dt>
<dd><p>Remove a quest. If not complete, it will be abandoned.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>quest_key</strong> (<em>str</em>) The quest to remove.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.save_quest_data">
<span class="sig-name descname"><span class="pre">save_quest_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quest_key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.save_quest_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.save_quest_data" title="Link to this definition"></a></dt>
<dd><p>Save data for a quest. We store this on the quester as well as updating the quest itself.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>quest_key</strong> (<em>str</em>) The quest to save data for. The data is assumed to be stored on the
quest as <strong>.data</strong> (a dict).</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.load_quest_data">
<span class="sig-name descname"><span class="pre">load_quest_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quest_key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#EvAdventureQuestHandler.load_quest_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.load_quest_data" title="Link to this definition"></a></dt>
<dd><p>Load data for a quest.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>quest_key</strong> (<em>str</em>) The quest to load data for.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><em>dict</em> The data stored for the quest.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.contrib.tutorials.evadventure.quests.</span></span><span class="sig-name descname"><span class="pre">CmdQuests</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#CmdQuests"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests" title="Link to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.command.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><code class="xref py py-class docutils literal notranslate"><span class="pre">Command</span></code></a></p>
<p>List all quests and their statuses as well as get info about the status of
a specific quest.</p>
<dl class="simple">
<dt>Usage:</dt><dd><p>quests
quest &lt;questname&gt;</p>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.key">
<span class="sig-name descname"><span class="pre">key</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'quests'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.key" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.aliases">
<span class="sig-name descname"><span class="pre">aliases</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['quest']</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.aliases" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.help_category">
<span class="sig-name descname"><span class="pre">help_category</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'general'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.help_category" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.lock_storage">
<span class="sig-name descname"><span class="pre">lock_storage</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'cmd:all();'</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.lock_storage" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.search_index_entry">
<span class="sig-name descname"><span class="pre">search_index_entry</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'aliases':</span> <span class="pre">'quest',</span> <span class="pre">'category':</span> <span class="pre">'general',</span> <span class="pre">'key':</span> <span class="pre">'quests',</span> <span class="pre">'no_prefix':</span> <span class="pre">'</span> <span class="pre">quest',</span> <span class="pre">'tags':</span> <span class="pre">'',</span> <span class="pre">'text':</span> <span class="pre">'\nList</span> <span class="pre">all</span> <span class="pre">quests</span> <span class="pre">and</span> <span class="pre">their</span> <span class="pre">statuses</span> <span class="pre">as</span> <span class="pre">well</span> <span class="pre">as</span> <span class="pre">get</span> <span class="pre">info</span> <span class="pre">about</span> <span class="pre">the</span> <span class="pre">status</span> <span class="pre">of\na</span> <span class="pre">specific</span> <span class="pre">quest.\n\nUsage:\n</span>&#160;&#160;&#160; <span class="pre">quests\n</span>&#160;&#160;&#160; <span class="pre">quest</span> <span class="pre">&lt;questname&gt;\n\n'}</span></em><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.search_index_entry" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.parse">
<span class="sig-name descname"><span class="pre">parse</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#CmdQuests.parse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.parse" title="Link to this definition"></a></dt>
<dd><p>Once the cmdhandler has identified this as the command we
want, this function is run. If many of your commands have a
similar syntax (for example cmd arg1 = arg2) you should
simply define this once and just let other commands of the
same form inherit from this. See the docstring of this module
for which object properties are available to use (notably
self.args).</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.contrib.tutorials.evadventure.quests.CmdQuests.func">
<span class="sig-name descname"><span class="pre">func</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/contrib/tutorials/evadventure/quests.html#CmdQuests.func"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.func" title="Link to this definition"></a></dt>
<dd><p>This is the actual executing part of the command. It is
called directly after self.parse(). See the docstring of this
module for which object properties are available (beyond those
set in self.parse())</p>
</dd></dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.contrib.tutorials.evadventure.quests</a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.key"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.key</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.desc"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.desc</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.start_step"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.start_step</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help_start"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.help_start</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help_end"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.help_end</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.__init__"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.add_data"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.add_data()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.get_data"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.get_data()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.remove_data"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.remove_data()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.questhandler"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.questhandler</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.current_step"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.current_step</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.status"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.status</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_completed"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.is_completed</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_abandoned"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.is_abandoned</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.is_failed"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.is_failed</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.complete"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.complete()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.abandon"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.abandon()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.fail"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.fail()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.progress"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.progress()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.help"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.help()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.step_start"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.step_start()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuest.cleanup"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuest.cleanup()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_storage_attribute_key"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.quest_storage_attribute_key</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_storage_attribute_category"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.quest_storage_attribute_category</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_data_attribute_template"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.quest_data_attribute_template</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.quest_data_attribute_category"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.quest_data_attribute_category</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.__init__"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.has"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.has()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.get"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.get()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.all"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.all()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.add"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.add()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.remove"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.remove()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.save_quest_data"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.save_quest_data()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.EvAdventureQuestHandler.load_quest_data"><code class="docutils literal notranslate"><span class="pre">EvAdventureQuestHandler.load_quest_data()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests"><code class="docutils literal notranslate"><span class="pre">CmdQuests</span></code></a><ul>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.key"><code class="docutils literal notranslate"><span class="pre">CmdQuests.key</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.aliases"><code class="docutils literal notranslate"><span class="pre">CmdQuests.aliases</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.help_category"><code class="docutils literal notranslate"><span class="pre">CmdQuests.help_category</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.lock_storage"><code class="docutils literal notranslate"><span class="pre">CmdQuests.lock_storage</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.search_index_entry"><code class="docutils literal notranslate"><span class="pre">CmdQuests.search_index_entry</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.parse"><code class="docutils literal notranslate"><span class="pre">CmdQuests.parse()</span></code></a></li>
<li><a class="reference internal" href="#evennia.contrib.tutorials.evadventure.quests.CmdQuests.func"><code class="docutils literal notranslate"><span class="pre">CmdQuests.func()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.objects.html"
title="previous chapter">evennia.contrib.tutorials.evadventure.objects</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.contrib.tutorials.evadventure.random_tables.html"
title="next chapter">evennia.contrib.tutorials.evadventure.random_tables</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.contrib.tutorials.evadventure.quests.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.random_tables.html" title="evennia.contrib.tutorials.evadventure.random_tables"
>next</a> |</li>
<li class="right" >
<a href="evennia.contrib.tutorials.evadventure.objects.html" title="evennia.contrib.tutorials.evadventure.objects"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.contrib.html" >evennia.contrib</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.contrib.tutorials.html" >evennia.contrib.tutorials</a> &#187;</li>
<li class="nav-item nav-item-6"><a href="evennia.contrib.tutorials.evadventure.html" >evennia.contrib.tutorials.evadventure</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.contrib.tutorials.evadventure.quests</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>