evennia/docs/latest/Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.html
Evennia docbuilder action 8a11b66f08 Updated HTML docs.
2024-03-24 14:21:39 +00:00

800 lines
No EOL
79 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>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Beginner Tutorial &#8212; Evennia latest documentation</title>
<link rel="stylesheet" href="../../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/language_data.js"></script>
<link rel="shortcut 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="Part 1: What We Have" href="Part1/Beginner-Tutorial-Part1-Overview.html" />
<link rel="prev" title="Tutorials and How-Tos" href="../Howtos-Overview.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<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="Part1/Beginner-Tutorial-Part1-Overview.html" title="Part 1: What We Have"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../Howtos-Overview.html" title="Tutorials and How-Tos"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">Evennia latest</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Howtos-Overview.html" accesskey="U">Tutorials and How-Tos</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Beginner Tutorial</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../../index.html">
<img class="logo" src="../../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div 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" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h3><a href="../../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Beginner Tutorial</a><ul>
<li><a class="reference internal" href="#things-you-need">Things You Need</a><ul>
<li><a class="reference internal" href="#a-command-line-interface">A Command Line Interface</a></li>
<li><a class="reference internal" href="#a-fresh-game-dir">A Fresh Game-Dir?</a></li>
<li><a class="reference internal" href="#a-mud-client">A MUD Client</a></li>
<li><a class="reference internal" href="#a-text-editor-or-ide">A Text Editor or IDE</a></li>
<li><a class="reference internal" href="#running-python-commands-outside-game-optional">Running python commands outside game (optional)</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../Howtos-Overview.html"
title="previous chapter">Tutorials and How-Tos</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="Part1/Beginner-Tutorial-Part1-Overview.html"
title="next chapter">Part 1: What We Have</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../../_sources/Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.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="Beginner-Tutorial-Overview.html">latest (main branch)</a></li>
<li><a href="../4.x/index.html">v4.0.0 branch (outdated)</a></li>
<li><a href="../3.x/index.html">v3.0.0 branch (outdated)</a></li>
<li><a href="../2.x/index.html">v2.0.0 branch (outdated)</a></li>
<li><a href="../1.x/index.html">v1.0.0 branch (outdated)</a></li>
<li><a href="../0.x/index.html">v0.9.5 branch (outdated)</a></li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section class="tex2jax_ignore mathjax_ignore" id="beginner-tutorial">
<h1>Beginner Tutorial<a class="headerlink" href="#beginner-tutorial" title="Permalink to this headline"></a></h1>
<aside class="sidebar">
<p class="sidebar-title">Beginner Tutorial Parts</p>
<ul class="simple">
<li><p><strong><a class="reference internal" href="#"><span class="doc std std-doc">Introduction</span></a></strong>
<br>Getting set up.</p></li>
<li><p>Part 1: <a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html"><span class="doc std std-doc">What We Have</span></a>
<br>A tour of Evennia and how to use the tools, including an introduction to Python.</p></li>
<li><p>Part 2: <a class="reference internal" href="Part2/Beginner-Tutorial-Part2-Overview.html"><span class="doc std std-doc">What We Want</span></a>
<br>Planning our tutorial game and what to consider when planning your own.</p></li>
<li><p>Part 3: <a class="reference internal" href="Part3/Beginner-Tutorial-Part3-Overview.html"><span class="doc std std-doc">How We Get There</span></a>
<br>Getting down to the meat of extending Evennia to make your game.</p></li>
<li><p>Part 4: <a class="reference internal" href="Part4/Beginner-Tutorial-Part4-Overview.html"><span class="doc std std-doc">Using What We Created</span></a>
<br>Building a tech-demo and world content to go with our code.</p></li>
<li><p>Part 5: <a class="reference internal" href="Part5/Beginner-Tutorial-Part5-Overview.html"><span class="doc std std-doc">Showing the World</span></a>
<br>Taking our new game online and letting players try it out.</p></li>
</ul>
</aside>
<p>Welcome to Evennia! This multi-part Beginner Tutorial will help get you off the ground and running.</p>
<p>You may choose topics that seem interesting but, if you follow this tutorial through to the end, you will have created your own small online game to play and share with others!</p>
<p>Use the menu on the right to navigate the index of each of the tutorials parts. Use the <a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html"><span class="doc std std-doc">next</span></a> and <a class="reference internal" href="../Howtos-Overview.html"><span class="doc std std-doc">previous</span></a> links at the top/bottom right of each page to jump between lessons.</p>
<section id="things-you-need">
<h2>Things You Need<a class="headerlink" href="#things-you-need" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><p>A command line interface</p></li>
<li><p>A MUD client (or web browser)</p></li>
<li><p>A text-editor/IDE</p></li>
<li><p>Evennia installed and a game-dir initialized</p></li>
</ul>
<section id="a-command-line-interface">
<h3>A Command Line Interface<a class="headerlink" href="#a-command-line-interface" title="Permalink to this headline"></a></h3>
<p>You need to know how to find the terminal/console in your OS. The Evennia server can be controlled from in-game, but you <em>will</em> realistically need to use the command-line interface to get anywhere. Here are some starters:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://tutorial.djangogirls.org/en/intro_to_command_line/">Online Intro to the Command line for different OS:es</a></p></li>
</ul>
<blockquote>
<div><p>Note that the documentation typically uses forward-slashes (<code class="docutils literal notranslate"><span class="pre">/</span></code>) for file system paths. Windows users should convert these to back-slashes (<code class="docutils literal notranslate"><span class="pre">\</span></code>) instead.</p>
</div></blockquote>
</section>
<section id="a-fresh-game-dir">
<h3>A Fresh Game-Dir?<a class="headerlink" href="#a-fresh-game-dir" title="Permalink to this headline"></a></h3>
<p>You should make sure that you have successfully <a class="reference internal" href="../../Setup/Installation.html"><span class="doc std std-doc">installed Evennia</span></a>. If you followed the instructions, you will have already created a game-dir. The documentation will continue to refer to this game-dir as <code class="docutils literal notranslate"><span class="pre">mygame</span></code>, so you may want to re-use it or make a new one specific to this tutorial only its up to you.</p>
<p>If you already have a game-dir and want a new one specific to this tutorial, use the <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">stop</span></code> command to halt the running server. Then, <a class="reference internal" href="../../Setup/Installation.html#initialize-a-new-game"><span class="std std-doc">initialize a new game-dir</span></a> somewhere else (<em>not</em> inside the previous game-dir!).</p>
</section>
<section id="a-mud-client">
<h3>A MUD Client<a class="headerlink" href="#a-mud-client" title="Permalink to this headline"></a></h3>
<p>You may already have a preferred MUD client. Check out the <a class="reference internal" href="../../Setup/Client-Support-Grid.html"><span class="doc std std-doc">grid of supported clients</span></a>. Or, if telnets not your thing, you may also simply use Evennias web-client in your preferred browser.</p>
<p>Make sure you know how to connect and log in to your locally running Evennia server.</p>
<blockquote>
<div><p>In this documentation we often interchangeably use the terms MUD, MU, and MU* to represent all the historically different forms of text-based multiplayer game-styles (i.e., MUD, MUX, MUSH, MUCK, MOO, etc.). Evennia can be used to create any of these game-styles… and more!</p>
</div></blockquote>
</section>
<section id="a-text-editor-or-ide">
<h3>A Text Editor or IDE<a class="headerlink" href="#a-text-editor-or-ide" title="Permalink to this headline"></a></h3>
<p>You need a text editor application to edit Python source files. Most anything that can edit and output raw text should work (…so not Microsoft Word).</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.elegantthemes.com/blog/resources/best-code-editors">Heres a blog post summing up a variety of text editor options</a> - these things dont change much from year to year. Popular choices for Python are PyCharm, VSCode, Atom, Sublime Text, and Notepad++. Evennia is to a very large degree coded in VIM, but it is not suitable for beginners.</p></li>
</ul>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>Use Spaces, Not Tabs&lt; br/&gt;
Make sure to configure your text editor so that pressing the Tab key inserts <em>4 spaces</em> rather than a tab-character. Because Python is whitespace-aware, this simple practice will make your life much easier.</p>
</div>
</section>
<section id="running-python-commands-outside-game-optional">
<h3>Running python commands outside game (optional)<a class="headerlink" href="#running-python-commands-outside-game-optional" title="Permalink to this headline"></a></h3>
<p>This tutorial will primarily assume you are experimenting with Python through your game client, using the in-game <code class="docutils literal notranslate"><span class="pre">py</span></code> command. But you can also explore Python instructions outside of the game. Run the following from your game dir folder:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>$ evennia shell
</pre></div>
</div>
<aside class="sidebar">
<p>The <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">shell</span></code> console is convenient for experimenting with Python. But note that if you manipulate database objects from <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">shell</span></code>, those changes will not be visible from inside the game until you reload the server. Similarly changes in-game may not visible to the <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">shell</span></code> console until restarting it. As a guideline, use <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">shell</span></code> for testing things out. Dont use it to change the state of a running game. The beginner tutorial uses the in-game <code class="docutils literal notranslate"><span class="pre">py</span></code> command to avoid confusion.</p>
</aside>
<p>This will open an Evennia/Django aware python shell. You should use this instead of just running vanilla <code class="docutils literal notranslate"><span class="pre">python</span></code> since the latter wont set up Django for you and you wont be able to import <code class="docutils literal notranslate"><span class="pre">evennia</span></code> without a lot of extra setup. For an even nicer experience, its recommended you install the <code class="docutils literal notranslate"><span class="pre">ipython</span></code> program:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> $ pip install ipython3
</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">shell</span></code> command will use <code class="docutils literal notranslate"><span class="pre">ipython</span></code> automatically if installed.</p>
<hr class="docutils" />
<p>You should now be ready to move on to the <a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html"><span class="doc std std-doc">first part of the Beginner Tutorial</span></a>! (In the future, use the <code class="docutils literal notranslate"><span class="pre">previous</span> <span class="pre">|</span> <span class="pre">next</span></code> buttons on the top/bottom of the page to progress.)</p>
<details>
<summary>
Click here to see the full index of all parts and lessons of the Beginner-Tutorial.
</summary>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html">Part 1: What We Have</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part1/Beginner-Tutorial-Part1-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html">1. Using Commands and Building Stuff</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#getting-help">1.1. Getting Help</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#looking-around">1.2. Looking Around</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#stepping-down-from-godhood">1.3. Stepping Down from Godhood</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#creating-an-object">1.4. Creating an Object</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#get-a-personality">1.5. Get a Personality</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#pushing-your-buttons">1.6. Pushing Your Buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#making-yourself-a-house">1.7. Making Yourself a House</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#reshuffling-the-world">1.8. Reshuffling the World</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#adding-a-help-entry">1.9. Adding a Help Entry</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Building-Quickstart.html#adding-a-world">1.10. Adding a World</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html">2. The Tutorial World</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#gameplay">2.1. Gameplay</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#gameplay-hints">2.1.1. Gameplay hints</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#once-you-are-done-or-had-enough">2.2. Once you are done (or had enough)</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Tutorial-World.html#uninstall-the-tutorial-world">2.3. Uninstall the tutorial world</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html">3. Intro to using Python with Evennia</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#evennia-hello-world">3.1. Evennia Hello world</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#making-some-text-graphics">3.2. Making some text graphics</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#format">3.2.1. .format()</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#f-strings">3.2.2. f-strings</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#colored-text">3.2.3. Colored text</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#importing-code-from-other-modules">3.3. Importing code from other modules</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#our-first-own-function">3.3.1. Our first own function</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#sending-text-to-others">3.4. Sending text to others</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#parsing-python-errors">3.5. Parsing Python errors</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#passing-arguments-to-functions">3.6. Passing arguments to functions</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#finding-others-to-send-to">3.7. Finding others to send to</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#multi-line-py">3.8. Multi-line py</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#other-ways-to-test-python-code">3.9. Other ways to test Python code</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#ipython">3.10. ipython</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-basic-introduction.html#conclusions">3.11. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html">4. Overview of your new Game Dir</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#commands">4.1. commands/</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#server">4.2. server/</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#server-logs">4.2.1. server/logs/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#server-conf">4.2.2. server/conf/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#typeclasses">4.2.3. typeclasses/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#web">4.2.4. web/</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Gamedir-Overview.html#world">4.2.5. world/</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html">5. Introduction to Python classes and objects</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#importing-things">5.1. Importing things</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#on-classes-and-objects">5.2. On classes and objects</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#classes-and-instances">5.2.1. Classes and instances</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#whats-so-good-about-objects">5.2.2. Whats so good about objects?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#classes-can-have-children">5.2.3. Classes can have children</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#a-look-at-multiple-inheritance">5.2.4. A look at multiple inheritance</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Python-classes-and-objects.html#summary">5.3. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html">6. Overview of the Evennia library</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#where-is-it">6.1. Where is it?</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#an-example-of-exploring-the-library">6.2. An example of exploring the library</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Evennia-Library-Overview.html#conclusions">6.3. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html">7. Making objects persistent</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#our-first-persistent-object">7.1. Our first persistent object</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#making-a-new-object-by-calling-the-class">7.1.1. Making a new object by calling the class</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#creating-using-create-object">7.1.2. Creating using create_object</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#creating-using-create-command">7.1.3. Creating using create-command</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#typeclasses">7.2. Typeclasses</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#examining-objects">7.2.1. Examining objects</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#default-typeclasses">7.2.2. Default typeclasses</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#modifying-ourselves">7.3. Modifying ourselves</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#a-method-on-ourselves">7.3.1. A method on ourselves</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#attributes">7.3.2. Attributes</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#setting-things-on-new-characters">7.3.3. Setting things on new Characters</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#updating-all-characters-in-a-loop">7.3.4. Updating all Characters in a loop</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#extra-credits">7.4. Extra Credits</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Learning-Typeclasses.html#conclusions">7.5. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html">8. Adding custom commands</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#creating-a-custom-command">8.1. Creating a custom command</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#making-our-cmdset-persistent">8.1.1. Making our cmdset persistent</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#add-the-echo-command-to-the-default-cmdset">8.1.2. Add the echo command to the default cmdset</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#figuring-out-who-to-hit">8.1.3. Figuring out who to hit</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Adding-Commands.html#summary">8.2. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html">9. Parsing Command input</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#more-advanced-parsing">9.1. More advanced parsing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#adding-a-command-to-an-object">9.2. Adding a Command to an object</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#you-need-to-hold-the-sword">9.2.1. You need to hold the sword!</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#adding-the-command-to-a-default-cmdset">9.3. Adding the Command to a default Cmdset</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#removing-commands">9.3.1. Removing Commands</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#replace-a-default-command">9.4. Replace a default command</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-More-on-Commands.html#summary">9.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html">10. Creating things</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-objects">10.1. Creating Objects</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-rooms-characters-and-exits">10.2. Creating Rooms, Characters and Exits</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#linking-exits-and-rooms-in-code">10.2.1. Linking Exits and Rooms in code</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-accounts">10.3. Creating Accounts</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-channels">10.4. Creating Channels</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#creating-scripts">10.5. Creating Scripts</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Creating-Things.html#conclusion">10.6. Conclusion</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html">11. Searching for things</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#searching-using-object-search">11.1. Searching using Object.search</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#main-search-functions">11.2. Main search functions</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#what-can-be-searched-for">11.3. What can be searched for</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-key">11.3.1. Search by key</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-aliases">11.3.2. Search by aliases</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-location">11.3.3. Search by location</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-tags">11.3.4. Search by Tags</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-attribute">11.3.5. Search by Attribute</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-typeclass">11.3.6. Search by Typeclass</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#search-by-dbref">11.3.7. Search by dbref</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#finding-objects-relative-each-other">11.4. Finding objects relative each other</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Searching-Things.html#summary">11.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html">12. Advanced searching - Django Database queries</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#queryset-field-lookups">12.1. Queryset field lookups</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#lets-get-that-werewolf">12.2. Lets get that werewolf …</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#queries-with-or-or-not">12.3. Queries with OR or NOT</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#annotations">12.4. Annotations</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#f-objects">12.5. F-objects</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#grouping-and-returning-only-certain-properties">12.6. Grouping and returning only certain properties</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Django-queries.html#conclusions">12.7. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html">13. Building a chair you can sit on</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#make-us-not-able-to-move-while-sitting">13.1. Make us not able to move while sitting</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#making-the-chair-itself">13.2. Making the Chair itself</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#sitting-on-or-in">13.2.1. Sitting on or in?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#extra-credits">13.2.2. Extra credits</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#adding-commands">13.3. Adding commands</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#command-variant-1-commands-on-the-chair">13.3.1. Command variant 1: Commands on the chair</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#command-variant-2-command-on-character">13.3.2. Command variant 2: Command on Character</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part1/Beginner-Tutorial-Making-A-Sittable-Object.html#conclusions">13.4. Conclusions</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part2/Beginner-Tutorial-Part2-Overview.html">Part 2: What We Want</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part2/Beginner-Tutorial-Part2-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html">1. Where do I begin?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#what-is-your-motivation-for-doing-this">1.1. What is your motivation for doing this?</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#what-are-your-skills">1.2. What are your skills?</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#the-game-engine">1.2.1. The game engine</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#asset-creation">1.2.2. Asset creation</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#so-where-do-i-begin-then">1.3. So, where do I begin, then?</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-Where-Do-I-Begin.html#conclusions">1.4. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html">2. On Planning a Game</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#the-steps">2.1. The steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#planning">2.2. Planning</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#administration">2.2.1. Administration</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#building">2.2.2. Building</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#systems">2.2.3. Systems</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#rooms">2.2.4. Rooms</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#objects-items">2.2.5. Objects / items</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#characters">2.2.6. Characters</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#coding-and-tech-demo">2.3. Coding and Tech demo</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#world-building">2.4. World Building</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#alpha-release">2.5. Alpha Release</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#beta-release-perpetual-beta">2.6. Beta Release/Perpetual Beta</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#congratulate-yourself">2.7. Congratulate yourself!</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Game-Planning.html#planning-our-tutorial-game">2.8. Planning our tutorial game</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html">3. Planning our tutorial game</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#game-concept">3.1. Game concept</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#administration">3.2. Administration</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-your-game-rules-be-enforced-by-coded-systems-by-human-game-masters">3.2.1. Should your game rules be enforced by coded systems by human game masters?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-is-the-staff-hierarchy-in-your-game-is-vanilla-evennia-roles-enough-or-do-you-need-something-else">3.2.2. What is the staff hierarchy in your game? Is vanilla Evennia roles enough or do you need something else?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-players-be-able-to-post-out-of-characters-on-channels-and-via-other-means-like-bulletin-boards">3.2.3. Should players be able to post out-of-characters on channels and via other means like bulletin-boards?</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#building">3.3. Building</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-will-the-world-be-built">3.3.1. How will the world be built?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-only-privileged-builders-create-things-or-should-regular-players-also-have-limited-build-capability">3.3.2. Can only privileged Builders create things or should regular players also have limited build-capability?</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#systems">3.4. Systems</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-base-your-game-off-an-existing-rpg-system-or-make-up-your-own">3.4.1. Do you base your game off an existing RPG system or make up your own?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-are-the-game-mechanics-how-do-you-decide-if-an-action-succeeds-or-fails">3.4.2. What are the game mechanics? How do you decide if an action succeeds or fails?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#does-the-flow-of-time-matter-in-your-game-does-night-and-day-change-what-about-seasons">3.4.3. Does the flow of time matter in your game - does night and day change? What about seasons?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-want-changing-global-weather-or-should-weather-just-be-set-manually-in-roleplay">3.4.4. Do you want changing, global weather or should weather just be set manually in roleplay?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-want-a-coded-world-economy-or-just-a-simple-barter-system-or-no-formal-economy-at-all">3.4.5. Do you want a coded world-economy or just a simple barter system? Or no formal economy at all?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-you-have-concepts-like-reputation-and-influence">3.4.6. Do you have concepts like reputation and influence?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#will-your-characters-be-known-by-their-name-or-only-by-their-physical-appearance">3.4.7. Will your characters be known by their name or only by their physical appearance?</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#rooms">3.5. Rooms</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#is-a-simple-room-description-enough-or-should-the-description-be-able-to-change">3.5.1. Is a simple room description enough or should the description be able to change?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-the-room-have-different-statuses">3.5.2. Should the room have different statuses?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-objects-be-hidden-in-the-room-can-a-person-hide-in-the-room">3.5.3. Can objects be hidden in the room? Can a person hide in the room?</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#objects">3.6. Objects</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-numerous-are-your-objects-do-you-want-large-loot-lists-or-are-objects-just-role-playing-props">3.6.1. How numerous are your objects? Do you want large loot-lists or are objects just role playing props?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#is-each-coin-a-separate-object-or-do-you-just-store-a-bank-account-value">3.6.2. Is each coin a separate object or do you just store a bank account value?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#do-multiple-similar-objects-form-stack-and-how-are-those-stacks-handled-in-that-case">3.6.3. Do multiple similar objects form stack and how are those stacks handled in that case?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#does-an-object-have-weight-or-volume-so-you-cannot-carry-an-infinite-amount-of-them">3.6.4. Does an object have weight or volume (so you cannot carry an infinite amount of them)?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-objects-be-broken-can-they-be-repaired">3.6.5. Can objects be broken? Can they be repaired?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-you-fight-with-a-chair-or-a-flower-or-must-you-use-a-special-weapon-kind-of-thing">3.6.6. Can you fight with a chair or a flower or must you use a special weapon kind of thing?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#will-characters-be-able-to-craft-new-objects">3.6.7. Will characters be able to craft new objects?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-mobs-npcs-have-some-sort-of-ai">3.6.8. Should mobs/NPCs have some sort of AI?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#are-npcs-and-mobs-different-entities-how-do-they-differ">3.6.9. Are NPCs and mobs different entities? How do they differ?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#should-there-be-npcs-giving-quests-if-so-how-do-you-track-quest-status">3.6.10. _Should there be NPCs giving quests? If so, how do you track Quest status?</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#characters">3.7. Characters</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#can-players-have-more-than-one-character-active-at-a-time-or-are-they-allowed-to-multi-play">3.7.1. Can players have more than one Character active at a time or are they allowed to multi-play?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-does-the-character-generation-work">3.7.2. How does the character-generation work?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#how-do-you-implement-different-classes-or-races">3.7.3. How do you implement different “classes” or “races”?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#if-a-character-can-hide-in-a-room-what-skill-will-decide-if-they-are-detected">3.7.4. If a Character can hide in a room, what skill will decide if they are detected?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-does-the-skill-tree-look-like-can-a-character-gain-experience-to-improve-by-killing-enemies-solving-quests-by-roleplaying">3.7.5. What does the skill tree look like? Can a Character gain experience to improve? By killing enemies? Solving quests? By roleplaying?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#may-player-characters-attack-each-other-pvp">3.7.6. May player-characters attack each other (PvP)?</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#what-are-the-penalties-of-defeat-permanent-death-quick-respawn-time-in-prison">3.7.7. What are the penalties of defeat? Permanent death? Quick respawn? Time in prison?</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part2/Beginner-Tutorial-Planning-The-Tutorial-Game.html#conclusions">3.8. Conclusions</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part3/Beginner-Tutorial-Part3-Overview.html">Part 3: How We Get There (Example Game)</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part3/Beginner-Tutorial-Part3-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html">1. Code Structure and Utilities</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#folder-structure">1.1. Folder Structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#enums">1.2. Enums</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#utility-module">1.3. Utility Module</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#testing">1.4. Testing</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#running-your-test">1.4.1. Running your Test</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Utilities.html#summary">1.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html">2. Rules and dice rolling</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#summary-of-knave-rules">2.1. Summary of <em>Knave</em> rules</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#making-a-rule-module">2.2. Making a rule module</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#rolling-dice">2.3. Rolling dice</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#generic-dice-roller">2.3.1. Generic dice roller</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#rolling-with-advantage">2.3.2. Rolling with advantage</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#saving-throws">2.3.3. Saving throws</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#opposed-saving-throw">2.3.4. Opposed saving throw</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#morale-check">2.3.5. Morale check</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#roll-for-healing">2.3.6. Roll for Healing</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#rolling-on-a-table">2.3.7. Rolling on a table</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#roll-for-death">2.3.8. Roll for death</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#testing">2.4. Testing</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#mocking-and-patching">2.4.1. Mocking and patching</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rules.html#summary">2.5. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html">3. Player Characters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#inheritance-structure">3.1. Inheritance structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#living-mixin-class">3.2. Living mixin class</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#character-class">3.3. Character class</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#funcparser-inlines">3.3.1. Funcparser inlines</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#backtracking">3.3.2. Backtracking</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#connecting-the-character-with-evennia">3.4. Connecting the Character with Evennia</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#unit-testing">3.5. Unit Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#about-races-and-classes">3.6. About races and classes</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Characters.html#summary">3.7. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html">4. In-game Objects and items</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#new-enums">4.1. New Enums</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#the-base-object">4.2. The base object</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#using-attributes-or-not">4.2.1. Using Attributes or not</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#creating-tags-in-at-object-creation">4.2.2. Creating tags in <code class="docutils literal notranslate"><span class="pre">at_object_creation</span></code></a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#other-object-types">4.3. Other object types</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#consumables">4.4. Consumables</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#weapons">4.5. Weapons</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#magic">4.6. Magic</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#armor">4.7. Armor</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#your-bare-hands">4.8. Your Bare hands</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Objects.html#testing-and-extra-credits">4.9. Testing and Extra credits</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html">5. Handling Equipment</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#equipmenthandler-that-saves">5.1. EquipmentHandler that saves</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#connecting-the-equipmenthandler">5.2. Connecting the EquipmentHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#expanding-the-equipmenthandler">5.3. Expanding the Equipmenthandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#validate-slot-usage">5.4. <code class="docutils literal notranslate"><span class="pre">.validate_slot_usage</span></code></a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#max-slots">5.4.1. <code class="docutils literal notranslate"><span class="pre">.max_slots</span></code></a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#count-slots">5.4.2. <code class="docutils literal notranslate"><span class="pre">.count_slots</span></code></a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#validating-slots">5.4.3. Validating slots</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#add-and-remove">5.5. <code class="docutils literal notranslate"><span class="pre">.add</span></code> and <code class="docutils literal notranslate"><span class="pre">.remove</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#moving-things-around">5.6. Moving things around</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#get-everything">5.7. Get everything</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#weapon-and-armor">5.8. Weapon and armor</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#fixing-the-character-class">5.8.1. Fixing the Character class</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#extra-credits">5.9. Extra credits</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#unit-testing">5.10. Unit Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Equipment.html#summary">5.11. Summary</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html">6. Character Generation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#how-it-will-work">6.1. How it will work</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#random-tables">6.2. Random tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#storing-state-of-the-menu">6.3. Storing state of the menu</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#showing-the-sheet">6.3.1. Showing the sheet</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#apply-character">6.3.2. Apply character</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#initializing-evmenu">6.4. Initializing EvMenu</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#main-node-choosing-what-to-do">6.5. Main Node: Choosing what to do</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#node-changing-your-name">6.6. Node: Changing your name</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#node-swapping-abilities-around">6.7. Node: Swapping Abilities around</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#node-creating-the-character">6.8. Node: Creating the Character</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#tying-the-nodes-together">6.9. Tying the nodes together</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Chargen.html#conclusions">6.10. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html">7. In-game Rooms</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html#the-base-room">7.1. The base room</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html#pvp-room">7.2. PvP room</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html#adding-a-room-map">7.3. Adding a room map</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html#adding-life-to-a-room">7.4. Adding life to a room</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html#testing">7.5. Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Rooms.html#conclusion">7.6. Conclusion</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-NPCs.html">8. Non-Player-Characters</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-NPCs.html#the-npc-base-class">8.1. The NPC base class</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-NPCs.html#testing">8.2. Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-NPCs.html#conclusions">8.3. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html">9. Combat base framework</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#combathandler">9.1. CombatHandler</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#combathandler-get-or-create-combathandler">9.1.1. CombatHandler.get_or_create_combathandler</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#combathandler-msg">9.1.2. CombatHandler.msg</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#combathandler-get-combat-summary">9.1.3. Combathandler.get_combat_summary</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#actions">9.2. Actions</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#action-dicts">9.3. Action dicts</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#action-classes">9.4. Action classes</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#hold-action">9.4.1. Hold Action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#attack-action">9.4.2. Attack Action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#stunt-action">9.4.3. Stunt Action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#use-item-action">9.4.4. Use Item Action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#wield-action">9.4.5. Wield Action</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#testing">9.5. Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Base.html#conclusions">9.6. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html">10. Twitch Combat</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#general-principle">10.1. General principle</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#twitch-combat-handler">10.2. Twitch combat handler</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#getting-the-sides-of-combat">10.2.1. Getting the sides of combat</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#tracking-advantage-disadvantage">10.2.2. Tracking Advantage / Disadvantage</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#queue-action">10.2.3. Queue action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#execute-an-action">10.2.4. Execute an action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#checking-and-stopping-combat">10.2.5. Checking and stopping combat</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#commands">10.3. Commands</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#base-combat-class">10.3.1. Base Combat class</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#in-combat-look-command">10.3.2. In-combat look command</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#hold-command">10.3.3. Hold command</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#attack-command">10.3.4. Attack command</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#using-items">10.3.5. Using items</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#wielding-new-weapons-and-equipment">10.3.6. Wielding new weapons and equipment</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#grouping-commands-for-use">10.4. Grouping Commands for use</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#combat-startup-and-cleanup">10.4.1. Combat startup and cleanup</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#unit-testing">10.5. Unit Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#a-small-combat-test">10.6. A small combat test</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Twitch.html#conclusions">10.7. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html">11. Turnbased Combat</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#general-principle">11.1. General Principle</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#turnbased-combat-handler">11.2. Turnbased combat handler</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#getting-the-sides-of-combat">11.2.1. Getting the sides of combat</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#tracking-advantage-disadvantage">11.2.2. Tracking Advantage/Disadvantage</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#adding-and-removing-combatants">11.2.3. Adding and removing combatants</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#flee-action">11.2.4. Flee Action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#queue-action">11.2.5. Queue action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#execute-an-action-and-tick-the-round">11.2.6. Execute an action and tick the round</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#check-and-stop-combat">11.2.7. Check and stop combat</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#start-combat">11.2.8. Start combat</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#using-evmenu-for-the-combat-menu">11.3. Using EvMenu for the combat menu</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#menu-for-turnbased-combat">11.4. Menu for Turnbased combat</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#the-node-index">11.4.1. The node index</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#getting-or-setting-the-combathandler">11.4.2. Getting or setting the combathandler</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#queue-an-action">11.4.3. Queue an action</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#rerun-a-node">11.4.4. Rerun a node</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#stepping-through-the-wizard">11.4.5. Stepping through the wizard</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#choosing-targets-and-recipients">11.4.6. Choosing targets and recipients</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#choose-an-ability">11.4.7. Choose an Ability</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#choose-an-item-to-use-or-wield">11.4.8. Choose an item to use or wield</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#the-main-menu-node">11.4.9. The main menu node</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#attack-command">11.5. Attack Command</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#making-sure-the-menu-stops">11.6. Making sure the menu stops</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#testing">11.7. Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#a-small-combat-test">11.8. A small combat test</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Combat-Turnbased.html#conclusions">11.9. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html">12. NPC and monster AI</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#our-requirements">12.1. Our requirements</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#the-aihandler">12.2. The AIHandler</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#more-helpers-on-the-ai-handler">12.2.1. More helpers on the AI handler</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#adding-ai-to-an-entity">12.3. Adding AI to an entity</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#idle-state">12.3.1. Idle state</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#roam-state">12.3.2. Roam state</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#flee-state">12.3.3. Flee state</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#combat-state">12.3.4. Combat state</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#unit-testing">12.4. Unit Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-AI.html#conclusions">12.5. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html">13. Procedurally generated Dungeon</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#design-concept">13.1. Design Concept</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#the-starting-room">13.1.1. The starting room</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#generating-new-branch-rooms">13.1.2. Generating new branch rooms</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#making-the-dungeon-dangerous">13.1.3. Making the dungeon dangerous</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#difficulty-scaling">13.1.4. Difficulty scaling</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#start-implementation">13.2. Start Implementation</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#basic-dungeon-rooms">13.3. Basic Dungeon rooms</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#dungeon-exits">13.4. Dungeon exits</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#dungeon-branch-and-the-xy-grid">13.5. Dungeon Branch and the xy grid</a><ul>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#grid-coordinates-and-exit-mappings">13.5.1. Grid coordinates and exit mappings</a><ul>
<li class="toctree-l6"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#base-structure-of-the-dungeon-branch-script">13.5.1.1. Base structure of the Dungeon branch script</a></li>
</ul>
</li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#a-note-about-the-room-generator">13.5.2. A note about the room-generator</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#deleting-a-dungeon-branch">13.5.3. Deleting a dungeon branch</a></li>
<li class="toctree-l5"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#creating-a-new-dungeon-room">13.5.4. Creating a new dungeon room</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#back-to-the-dungeon-exit-class">13.6. Back to the dungeon exit class</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#starting-room-exits">13.7. Starting room exits</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#utility-scripts">13.8. Utility scripts</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#starting-room">13.9. Starting room</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#testing">13.10. Testing</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part3/Beginner-Tutorial-Dungeon.html#conclusions">13.11. Conclusions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Quests.html">14. Game Quests</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Shops.html">15. In-game Shops</a></li>
<li class="toctree-l3"><a class="reference internal" href="Part3/Beginner-Tutorial-Commands.html">16. In-game Commands</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part4/Beginner-Tutorial-Part4-Overview.html">Part 4: Using What We Created</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part4/Beginner-Tutorial-Part4-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../Unimplemented.html">1. Unimplemented</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Part5/Beginner-Tutorial-Part5-Overview.html">Part 5: Showing the World</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Part5/Beginner-Tutorial-Part5-Overview.html#lessons">Lessons</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html">1. Add a simple new web page</a><ul>
<li class="toctree-l4"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html#create-the-view">1.1. Create the view</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html#the-html-page">1.2. The HTML page</a></li>
<li class="toctree-l4"><a class="reference internal" href="Part5/Add-a-simple-new-web-page.html#the-url">1.3. The URL</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</details>
</section>
</section>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="Part1/Beginner-Tutorial-Part1-Overview.html" title="Part 1: What We Have"
>next</a> |</li>
<li class="right" >
<a href="../Howtos-Overview.html" title="Tutorials and How-Tos"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">Evennia latest</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Howtos-Overview.html" >Tutorials and How-Tos</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Beginner Tutorial</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> 3.2.1.
</div>
</body>
</html>