Updated HTML docs

This commit is contained in:
Griatch 2022-01-08 16:38:41 +01:00
parent f7e699eaa2
commit 7a8f150ed9
764 changed files with 60139 additions and 76788 deletions

View file

@ -6,7 +6,7 @@
<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>Contrib modules &#8212; Evennia 1.0-dev documentation</title>
<title>Contribs &#8212; Evennia 1.0-dev 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>
@ -19,7 +19,7 @@
<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="Crafting system contrib" href="Crafting.html" />
<link rel="next" title="Links" href="../Links.html" />
<link rel="prev" title="Coding and development help" href="../Coding/Coding-Overview.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
@ -32,13 +32,13 @@
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="Crafting.html" title="Crafting system contrib"
<a href="../Links.html" title="Links"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../Coding/Coding-Overview.html" title="Coding and development help"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Contrib modules</a></li>
<li class="nav-item nav-item-this"><a href="">Contribs</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
@ -48,290 +48,427 @@
<div class="bodywrapper">
<div class="body" role="main">
<section class="tex2jax_ignore mathjax_ignore" id="contrib-modules">
<h1>Contrib modules<a class="headerlink" href="#contrib-modules" title="Permalink to this headline"></a></h1>
<p>Contribs are found in <a class="reference internal" href="../api/evennia.contrib.html#evennia-contrib"><span class="std std-ref">evennia/contrib/</span></a> and are optional game-specific code-snippets
or even full systems you can use for your game. They are contributed by the Evennia community and
released under the same license as Evennia itself. Each contrib has its own installation instructions.
Bugs are reported to the Evennia <a class="reference external" href="https://github.com/evennia/evennia/issues/new/choose">issue tracker</a> as usual.</p>
<section id="character-related">
<h2>Character-related<a class="headerlink" href="#character-related" title="Permalink to this headline"></a></h2>
<p>Contribs related to characters and character displays.</p>
<section id="chargen">
<h3>CharGen<a class="headerlink" href="#chargen" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2011</em></p>
<p>A simple Character creator for OOC mode. Meant as a starting point for a more fleshed-out system.</p>
<section class="tex2jax_ignore mathjax_ignore" id="contribs">
<h1>Contribs<a class="headerlink" href="#contribs" title="Permalink to this headline"></a></h1>
<p><em>Contribs</em> are optional code snippets and systems contributed by
the Evennia community. They vary in size and complexity and
may be more specific about game types and styles than core Evennia.
This page is auto-generated and summarizes all contribs currently included.</p>
<p>All contrib categories are imported from <code class="docutils literal notranslate"><span class="pre">evennia.contrib</span></code>, such as</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>from evennia.contrib.base_systems import building_menu
</pre></div>
</div>
<p>Each contrib contains installation instructions for how to integrate it
with your other code. If you want to tweak the code of a contrib, just
copy its entire folder to your game directory and modify/use it from there.</p>
<blockquote>
<div><p>Hint: Additional (potentially un-maintained) code snippets from the community can be found
in our discussion forums <a class="reference external" href="https://github.com/evennia/evennia/discussions/categories/community-contribs-snippets">Community Contribs &amp; Snippets</a> category.</p>
</div></blockquote>
<p>If you want to contribute yourself, see <a class="reference internal" href="../Contributing.html"><span class="doc std std-doc">here</span></a>!</p>
<section id="base-systems">
<h2>base_systems<a class="headerlink" href="#base-systems" title="Permalink to this headline"></a></h2>
<p><em>This category contains systems that are not necessarily tied to a specific
in-game mechanic but is useful for the game as a whole. Examples include
login systems, new command syntaxes, and build helpers.</em></p>
<section id="contrib-awsstorage">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">awsstorage</span></code><a class="headerlink" href="#contrib-awsstorage" title="Permalink to this headline"></a></h3>
<p><em>Contrib by The Right Honourable Reverend (trhr), 2020</em></p>
<p>This plugin migrates the Web-based portion of Evennia, namely images,
javascript, and other items located inside staticfiles into Amazon AWS (S3)
cloud hosting. Great for those serving media with the game.</p>
<p><a class="reference internal" href="Contrib-AWSStorage.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.awsstorage.html#evennia-contrib-base-systems-awsstorage"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="clothing">
<h3>Clothing<a class="headerlink" href="#clothing" title="Permalink to this headline"></a></h3>
<p><em>FlutterSprite 2017</em></p>
<p>A layered clothing system with slots for different types of garments auto-showing in description.</p>
<section id="contrib-building-menu">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">building_menu</span></code><a class="headerlink" href="#contrib-building-menu" title="Permalink to this headline"></a></h3>
<p><em>Contrib by vincent-lg, 2018</em></p>
<p>Building menus are in-game menus, not unlike <code class="docutils literal notranslate"><span class="pre">EvMenu</span></code> though using a
different approach. Building menus have been specifically designed to edit
information as a builder. Creating a building menu in a command allows
builders quick-editing of a given object, like a room. If you follow the
steps to add the contrib, you will have access to an <code class="docutils literal notranslate"><span class="pre">edit</span></code> command
that will edit any default object, offering to change its key and description.</p>
<p><a class="reference internal" href="Contrib-Building-Menu.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.building_menu.html#evennia-contrib-base-systems-building-menu"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="health-bar">
<h3>Health Bar<a class="headerlink" href="#health-bar" title="Permalink to this headline"></a></h3>
<p><em>Tim Ashley Jenkins 2017</em></p>
<p>Tool to create colorful bars/meters.</p>
<section id="contrib-color-markups">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">color_markups</span></code><a class="headerlink" href="#contrib-color-markups" title="Permalink to this headline"></a></h3>
<p><em>Contrib by Griatch, 2017</em></p>
<p>Additional color markup styles for Evennia (extending or replacing the default
<code class="docutils literal notranslate"><span class="pre">|r</span></code>, <code class="docutils literal notranslate"><span class="pre">|234</span></code>). Adds support for MUSH-style (<code class="docutils literal notranslate"><span class="pre">%cr</span></code>, <code class="docutils literal notranslate"><span class="pre">%c123</span></code>) and/or legacy-Evennia
(<code class="docutils literal notranslate"><span class="pre">{r</span></code>, <code class="docutils literal notranslate"><span class="pre">{123</span></code>).</p>
<p><a class="reference internal" href="Contrib-Color-Markups.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.color_markups.html#evennia-contrib-base-systems-color-markups"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="multidescer">
<h3>Multidescer<a class="headerlink" href="#multidescer" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2016</em></p>
<p>Advanced descriptions combined from many separate description components, inspired by MUSH.</p>
<section id="contrib-custom-gametime">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">custom_gametime</span></code><a class="headerlink" href="#contrib-custom-gametime" title="Permalink to this headline"></a></h3>
<p><em>Contrib by vlgeoff, 2017 - based on Griatchs core original</em></p>
<p>This reimplements the <code class="docutils literal notranslate"><span class="pre">evennia.utils.gametime</span></code> module but with a <em>custom</em>
calendar (unusual number of days per week/month/year etc) for your game world.
Like the original, it allows for scheduling events to happen at given
in-game times, but now taking this custom calendar into account.</p>
<p><a class="reference internal" href="Contrib-Custom-Gametime.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.custom_gametime.html#evennia-contrib-base-systems-custom-gametime"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-email-login">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">email_login</span></code><a class="headerlink" href="#contrib-email-login" title="Permalink to this headline"></a></h3>
<p><em>Contrib by Griatch, 2012</em></p>
<p>This is a variant of the login system that asks for an email-address
instead of a username to login. Note that it does not verify the email,
it just uses it as the identifier rather than a username.</p>
<p><a class="reference internal" href="Contrib-Email-Login.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.email_login.html#evennia-contrib-base-systems-email-login"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-ingame-python">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">ingame_python</span></code><a class="headerlink" href="#contrib-ingame-python" title="Permalink to this headline"></a></h3>
<p><em>Contrib by Vincent Le Goff 2017</em></p>
<p>This contrib adds the ability to script with Python in-game. It allows trusted
staff/builders to dynamically add features and triggers to individual objects
without needing to do it in external Python modules. Using custom Python in-game,
specific rooms, exits, characters, objects etc can be made to behave differently from
its “cousins”. This is similar to how softcode works for MU or MudProgs for DIKU.
Keep in mind, however, that allowing Python in-game comes with <em>severe</em>
security concerns (you must trust your builders deeply), so read the warnings in
this module carefully before continuing.</p>
<p><a class="reference internal" href="Contrib-Ingame-Python.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.ingame_python.html#evennia-contrib-base-systems-ingame-python"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-menu-login">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">menu_login</span></code><a class="headerlink" href="#contrib-menu-login" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Vincent-lg 2016. Reworked for modern EvMenu by Griatch, 2019.</em></p>
<p>This changes the Evennia login to ask for the account name and password as a series
of questions instead of requiring you to enter both at once. It uses Evennias
menu system <code class="docutils literal notranslate"><span class="pre">EvMenu</span></code> under the hood.</p>
<p><a class="reference internal" href="Contrib-Menu-Login.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.menu_login.html#evennia-contrib-base-systems-menu-login"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-mux-comms-cmds">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">mux_comms_cmds</span></code><a class="headerlink" href="#contrib-mux-comms-cmds" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2021</em></p>
<p>In Evennia 1.0+, the old Channel commands (originally inspired by MUX) were
replaced by the single <code class="docutils literal notranslate"><span class="pre">channel</span></code> command that performs all these functions.
This contrib (extracted from Evennia 0.9.5) breaks out the functionality into
separate Commands more familiar to MU* users. This is just for show though, the
main <code class="docutils literal notranslate"><span class="pre">channel</span></code> command is still called under the hood.</p>
<p><a class="reference internal" href="Contrib-Mux-Comms-Cmds.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.mux_comms_cmds.html#evennia-contrib-base-systems-mux-comms-cmds"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-unixcommand">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">unixcommand</span></code><a class="headerlink" href="#contrib-unixcommand" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Vincent Le Geoff (vlgeoff), 2017</em></p>
<p>This module contains a command class with an alternate syntax parser implementing
Unix-style command syntax in-game. This means <code class="docutils literal notranslate"><span class="pre">--options</span></code>, positional arguments
and stuff like <code class="docutils literal notranslate"><span class="pre">-n</span> <span class="pre">10</span></code>. It might not the best syntax for the average player
but can be really useful for builders when they need to have a single command do
many things with many options. It uses the <code class="docutils literal notranslate"><span class="pre">ArgumentParser</span></code> from Pythons standard
library under the hood.</p>
<p><a class="reference internal" href="Contrib-Unixcommand.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.base_systems.unixcommand.html#evennia-contrib-base-systems-unixcommand"><span class="std std-ref">Browse the Code</span></a></p>
</section>
</section>
<hr class="docutils" />
<section id="rooms-movement-and-grid">
<h2>Rooms, movement and grid<a class="headerlink" href="#rooms-movement-and-grid" title="Permalink to this headline"></a></h2>
<p>Contribs modifying locations, movement or helping to creating rooms.</p>
<section id="xyzgrid">
<h3>XYZGrid<a class="headerlink" href="#xyzgrid" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2021</em></p>
<p>Adds an XYZgrid to Evennia, with map-display and pathfinding. Created via map
strings and maintained outside of the game via Evennia launch commands.</p>
<ul class="simple">
<li><p><a class="reference internal" href="XYZGrid.html"><span class="doc std std-doc">XYZGrid documentation</span></a></p></li>
</ul>
</section>
<section id="extended-room">
<h3>Extended Room<a class="headerlink" href="#extended-room" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2012</em></p>
<p>An expanded Room typeclass with multiple descriptions for time and season as well as details.</p>
</section>
<section id="map-builder">
<h3>Map Builder<a class="headerlink" href="#map-builder" title="Permalink to this headline"></a></h3>
<p><em>CloudKeeper 2016</em></p>
<p>Build a game area based on a 2D “graphical” unicode map. Supports asymmetric exits.</p>
<ul class="simple">
<li><p><a class="reference internal" href="Static-In-Game-Map.html"><span class="doc std std-doc">Static in-game map</span></a></p></li>
</ul>
</section>
<section id="simple-door">
<h3>Simple Door<a class="headerlink" href="#simple-door" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2014</em></p>
<p>Example of an exit that can be opened and closed from both sides.</p>
</section>
<section id="slow-exit">
<h3>Slow exit<a class="headerlink" href="#slow-exit" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2014</em></p>
<p>Custom Exit class that takes different time to pass depending on if you are walking/running etc.</p>
</section>
<section id="wilderness">
<h3>Wilderness<a class="headerlink" href="#wilderness" title="Permalink to this headline"></a></h3>
<p><em>titeuf87 2017</em></p>
<p>Make infinitely large wilderness areas with dynamically created locations.</p>
<ul class="simple">
<li><p><a class="reference internal" href="Dynamic-In-Game-Map.html"><span class="doc std std-doc">Dynamic in-game map</span></a></p></li>
</ul>
<section id="full-systems">
<h2>full_systems<a class="headerlink" href="#full-systems" title="Permalink to this headline"></a></h2>
<p><em>This category contains complete game engines that can be used directly
to start creating content without no further additions (unless you want to).</em></p>
<section id="contrib-evscaperoom">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">evscaperoom</span></code><a class="headerlink" href="#contrib-evscaperoom" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2019</em></p>
<p>A full engine for creating multiplayer escape-rooms in Evennia. Allows players to
spawn and join puzzle rooms that track their state independently. Any number of players
can join to solve a room together. This is the engine created for EvscapeRoom, which won
the MUD Coders Guild “One Room” Game Jam in April-May, 2019. The contrib has no game
content but contains the utilities and base classes and an empty example room.</p>
<p><a class="reference internal" href="Contrib-Evscaperoom.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.full_systems.evscaperoom.html#evennia-contrib-full-systems-evscaperoom"><span class="std std-ref">Browse the Code</span></a></p>
</section>
</section>
<hr class="docutils" />
<section id="roleplaying-and-rules">
<h2>Roleplaying and rules<a class="headerlink" href="#roleplaying-and-rules" title="Permalink to this headline"></a></h2>
<p>Contribs supporting roleplay and in-game roleplaying actions.</p>
<section id="barter-system">
<h3>Barter system<a class="headerlink" href="#barter-system" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2012</em></p>
<p>A safe and effective barter-system for any game. Allows safe trading of any goods (including coin).</p>
<section id="game-systems">
<h2>game_systems<a class="headerlink" href="#game-systems" title="Permalink to this headline"></a></h2>
<p><em>This category holds code implementing in-game gameplay systems like
crafting, mail, combat and more. Each system is meant to be adopted
piecemeal and adopted for your game. This does not include
roleplaying-specific systems, those are found in the <code class="docutils literal notranslate"><span class="pre">rpg</span></code> folder.</em></p>
<section id="contrib-barter">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">barter</span></code><a class="headerlink" href="#contrib-barter" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2012</em></p>
<p>This implements a full barter system - a way for players to safely
trade items between each other in code rather than simple <code class="docutils literal notranslate"><span class="pre">give/get</span></code>
commands. This increases both safety (at no time will one player have
both goods and payment in-hand) and speed, since agreed goods will
be moved automatically). By just replacing one side with coin objects,
(or a mix of coins and goods), this also works fine for regular money
transactions.</p>
<p><a class="reference internal" href="Contrib-Barter.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.barter.html#evennia-contrib-game-systems-barter"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="crafting">
<h3>Crafting<a class="headerlink" href="#crafting" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2020</em></p>
<p>A full, extendable crafting system.</p>
<ul class="simple">
<li><p><a class="reference internal" href="Crafting.html"><span class="doc std std-doc">Crafting overview</span></a></p></li>
<li><p><a class="reference internal" href="../api/evennia.contrib.crafting.crafting.html#evennia-contrib-crafting-crafting"><span class="std std-ref">Crafting API documentation</span></a></p></li>
<li><p><a class="reference internal" href="../api/evennia.contrib.crafting.example_recipes.html#evennia-contrib-crafting-example-recipes"><span class="std std-ref">Example of a sword crafting tree</span></a></p></li>
</ul>
<section id="contrib-clothing">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">clothing</span></code><a class="headerlink" href="#contrib-clothing" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Tim Ashley Jenkins, 2017</em></p>
<p>Provides a typeclass and commands for wearable clothing. These
look of these clothes are appended to the characters description when worn.</p>
<p><a class="reference internal" href="Contrib-Clothing.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.clothing.html#evennia-contrib-game-systems-clothing"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="dice">
<h3>Dice<a class="headerlink" href="#dice" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2012</em></p>
<p>A fully featured dice rolling system.</p>
<section id="contrib-cooldowns">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">cooldowns</span></code><a class="headerlink" href="#contrib-cooldowns" title="Permalink to this headline"></a></h3>
<p><em>Contribution by owllex, 2021</em></p>
<p>Cooldowns are used modelling rate-limited actions, like how often a
character can perform a given action; until a certain time has passed their
command can not be used again. This contrib provides a simple cooldown
handler that can be attached to any typeclass. A cooldown is a lightweight persistent
asynchronous timer that you can query to see if a certain time has yet passed.</p>
<p><a class="reference internal" href="Contrib-Cooldowns.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.cooldowns.html#evennia-contrib-game-systems-cooldowns"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="mail">
<h3>Mail<a class="headerlink" href="#mail" title="Permalink to this headline"></a></h3>
<p><em>grungies1138 2016</em></p>
<p>An in-game mail system for communication.</p>
<section id="contrib-crafting">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">crafting</span></code><a class="headerlink" href="#contrib-crafting" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2020</em></p>
<p>This implements a full crafting system. The principle is that of a recipe,
where you combine items (tagged as ingredients) create something new. The recipe can also
require certain (non-consumed) tools. An example would be to use the bread recipe to
combine flour, water and yeast with an oven to bake a loaf of bread.</p>
<p><a class="reference internal" href="Contrib-Crafting.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.crafting.html#evennia-contrib-game-systems-crafting"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="puzzles">
<h3>Puzzles<a class="headerlink" href="#puzzles" title="Permalink to this headline"></a></h3>
<p><em>Hendher 2019</em></p>
<p>Combine objects to create new items, adventure-game style</p>
<section id="contrib-gendersub">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">gendersub</span></code><a class="headerlink" href="#contrib-gendersub" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2015</em></p>
<p>This is a simple gender-aware Character class for allowing users to
insert custom markers in their text to indicate gender-aware
messaging. It relies on a modified msg() and is meant as an
inspiration and starting point to how to do stuff like this.</p>
<p><a class="reference internal" href="Contrib-Gendersub.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.gendersub.html#evennia-contrib-game-systems-gendersub"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="rp-system">
<h3>RP System<a class="headerlink" href="#rp-system" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2015</em></p>
<p>Full director-style emoting system replacing names with sdescs/recogs. Supports wearing masks.</p>
<section id="contrib-mail">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">mail</span></code><a class="headerlink" href="#contrib-mail" title="Permalink to this headline"></a></h3>
<p><em>Contribution by grungies1138 2016</em></p>
<p>A simple Brandymail style mail system that uses the <code class="docutils literal notranslate"><span class="pre">Msg</span></code> class from Evennia
Core. It has two Commands for either sending mails between Accounts (out of game)
or between Characters (in-game). The two types of mails can be used together or
on their own.</p>
<p><a class="reference internal" href="Contrib-Mail.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.mail.html#evennia-contrib-game-systems-mail"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="rp-language">
<h3>RP Language<a class="headerlink" href="#rp-language" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2015</em></p>
<p>Dynamic obfuscation of emotes when speaking unfamiliar languages. Also obfuscates whispers.</p>
<section id="contrib-multidescer">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">multidescer</span></code><a class="headerlink" href="#contrib-multidescer" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2016</em></p>
<p>A “multidescer” is a concept from the MUSH world. It allows for
creating, managing and switching between multiple character
descriptions and is a way for quickly managing your look (such as when
changing clothes) in more free-form roleplaying systems. This will also
work well together with the <code class="docutils literal notranslate"><span class="pre">rpsystem</span></code> contrib.</p>
<p><a class="reference internal" href="Contrib-Multidescer.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.multidescer.html#evennia-contrib-game-systems-multidescer"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="traits">
<h3>Traits<a class="headerlink" href="#traits" title="Permalink to this headline"></a></h3>
<p><em>Whitenoise 2014, Griatch2021</em></p>
<p>Powerful on-object properties (very extended Attributes) for representing
health, mana, skill-levels etc, with automatic min/max value, base, modifiers
and named tiers for different values. Also include timed rate increase/decrease
to have values change over a period of time.</p>
<section id="contrib-puzzles">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">puzzles</span></code><a class="headerlink" href="#contrib-puzzles" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Henddher 2018</em></p>
<p>Intended for adventure-game style combination puzzles, such as combining fruits
and a blender to create a smoothie. Provides a typeclass and commands for objects
that can be combined (i.e. used together). Unlike the <code class="docutils literal notranslate"><span class="pre">crafting</span></code> contrib, each
puzzle is built from unique objects rather than using tags and a builder can create
the puzzle entirely from in-game.</p>
<p><a class="reference internal" href="Contrib-Puzzles.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.puzzles.html#evennia-contrib-game-systems-puzzles"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="turnbattle">
<h3>Turnbattle<a class="headerlink" href="#turnbattle" title="Permalink to this headline"></a></h3>
<p><em>FlutterSprite 2017</em></p>
<p>A turn-based combat engine meant as a start to build from. Has attack/disengage and turn timeouts,
and includes optional expansions for equipment and combat movement, magic and ranged combat.</p>
<section id="contrib-turnbattle">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">turnbattle</span></code><a class="headerlink" href="#contrib-turnbattle" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Tim Ashley Jenkins, 2017</em></p>
<p>This is a framework for a simple turn-based combat system, similar
to those used in D&amp;D-style tabletop role playing games. It allows
any character to start a fight in a room, at which point initiative
is rolled and a turn order is established. Each participant in combat
has a limited time to decide their action for that turn (30 seconds by
default), and combat progresses through the turn order, looping through
the participants until the fight ends.</p>
<p><a class="reference internal" href="Contrib-Turnbattle.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.game_systems.turnbattle.html#evennia-contrib-game-systems-turnbattle"><span class="std std-ref">Browse the Code</span></a></p>
</section>
</section>
<hr class="docutils" />
<section id="building-and-server-systems">
<h2>Building and server systems<a class="headerlink" href="#building-and-server-systems" title="Permalink to this headline"></a></h2>
<section id="building-menu">
<h3>Building menu<a class="headerlink" href="#building-menu" title="Permalink to this headline"></a></h3>
<p><em>vincent-lg 2018</em></p>
<p>An <code class="docutils literal notranslate"><span class="pre">&#64;edit</span></code> command for modifying objects using a generated menu. Customizable for different games.</p>
<section id="grid">
<h2>grid<a class="headerlink" href="#grid" title="Permalink to this headline"></a></h2>
<p><em>Systems related to the game worlds topology and structure. This has
contribs related to rooms, exits and map building.</em></p>
<section id="contrib-extended-room">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">extended_room</span></code><a class="headerlink" href="#contrib-extended-room" title="Permalink to this headline"></a></h3>
<p><em>Contribution - Griatch 2012, vincent-lg 2019</em></p>
<p>This extends the normal <code class="docutils literal notranslate"><span class="pre">Room</span></code> typeclass to allow its description to change
with time-of-day and/or season. It also adds details for the player to look at
in the room (without having to create a new in-game object for each). The room is
supported by new <code class="docutils literal notranslate"><span class="pre">look</span></code> and <code class="docutils literal notranslate"><span class="pre">desc</span></code> commands.</p>
<p><a class="reference internal" href="Contrib-Extended-Room.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.grid.extended_room.html#evennia-contrib-grid-extended-room"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="field-fill">
<h3>Field Fill<a class="headerlink" href="#field-fill" title="Permalink to this headline"></a></h3>
<p><em>FlutterSprite 2018</em></p>
<p>A simple system for creating an EvMenu that presents a player with a highly customizable fillable form</p>
<section id="contrib-mapbuilder">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">mapbuilder</span></code><a class="headerlink" href="#contrib-mapbuilder" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Cloud_Keeper 2016</em></p>
<p>Build a game map from the drawing of a 2D ASCII map.</p>
<p><a class="reference internal" href="Contrib-Mapbuilder.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.grid.mapbuilder.html#evennia-contrib-grid-mapbuilder"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="in-game-python">
<h3>In-Game-Python<a class="headerlink" href="#in-game-python" title="Permalink to this headline"></a></h3>
<p><em>Vincent Le Geoff 2017</em></p>
<p>Allow Builders to add Python-scripted events to their objects (OBS-not for untrusted users!)</p>
<ul class="simple">
<li><p><a class="reference internal" href="A-voice-operated-elevator-using-events.html"><span class="doc std std-doc">A voice-operated elevator using events</span></a></p></li>
<li><p><a class="reference internal" href="Dialogues-in-events.html"><span class="doc std std-doc">Dialogues using events</span></a></p></li>
</ul>
<section id="contrib-simpledoor">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">simpledoor</span></code><a class="headerlink" href="#contrib-simpledoor" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2016</em></p>
<p>A simple two-way exit that represents a door that can be opened and
closed from both sides. Can easily be expanded to make it lockable,
destroyable etc.</p>
<p><a class="reference internal" href="Contrib-Simpledoor.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.grid.simpledoor.html#evennia-contrib-grid-simpledoor"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="menu-builder">
<h3>Menu-builder<a class="headerlink" href="#menu-builder" title="Permalink to this headline"></a></h3>
<p>A tool for building using an in-game menu instead of the normal build commands. Meant to
be expanded for the needs of your game.</p>
<ul class="simple">
<li><p><a class="reference internal" href="Building-menus.html"><span class="doc std std-doc">Building Menus</span></a></p></li>
</ul>
<section id="contrib-slow-exit">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">slow_exit</span></code><a class="headerlink" href="#contrib-slow-exit" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2014</em></p>
<p>An example of an Exit-type that delays its traversal. This simulates
slow movement, common in many games. The contrib also
contains two commands, <code class="docutils literal notranslate"><span class="pre">setspeed</span></code> and <code class="docutils literal notranslate"><span class="pre">stop</span></code> for changing the movement speed
and abort an ongoing traversal, respectively.</p>
<p><a class="reference internal" href="Contrib-Slow-Exit.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.grid.slow_exit.html#evennia-contrib-grid-slow-exit"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="security-auditing">
<h3>Security/Auditing<a class="headerlink" href="#security-auditing" title="Permalink to this headline"></a></h3>
<p><em>Johhny 2018</em></p>
<p>Log server input/output for debug/security.</p>
<section id="contrib-wilderness">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">wilderness</span></code><a class="headerlink" href="#contrib-wilderness" title="Permalink to this headline"></a></h3>
<p><em>Contribution by titeuf87, 2017</em></p>
<p>This contrib provides a wilderness map without actually creating a large number
of rooms - as you move, you instead end up back in the same room but its description
changes. This means you can make huge areas with little database use as
long as the rooms are relatively similar (name/desc changing).</p>
<p><a class="reference internal" href="Contrib-Wilderness.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.grid.wilderness.html#evennia-contrib-grid-wilderness"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="tree-select">
<h3>Tree Select<a class="headerlink" href="#tree-select" title="Permalink to this headline"></a></h3>
<p><em>FlutterSprite 2017</em></p>
<p>A simple system for creating a branching EvMenu with selection options sourced from a single
multi-line string.</p>
<section id="contrib-xyzgrid">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">xyzgrid</span></code><a class="headerlink" href="#contrib-xyzgrid" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2021</em></p>
<p>Places Evennias game world on an xy (z being different maps) coordinate grid.
Grid is created and maintained externally by drawing and parsing 2D ASCII maps,
including teleports, map transitions and special markers to aid pathfinding.
Supports very fast shortest-route pathfinding on each map. Also includes a
fast view function for seeing only a limited number of steps away from your
current location (useful for displaying the grid as an in-game, updating map).</p>
<p><a class="reference internal" href="Contrib-XYZGrid.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.grid.xyzgrid.html#evennia-contrib-grid-xyzgrid"><span class="std std-ref">Browse the Code</span></a></p>
</section>
</section>
<hr class="docutils" />
<section id="snippets-and-config">
<h2>Snippets and config<a class="headerlink" href="#snippets-and-config" title="Permalink to this headline"></a></h2>
<p>Contribs meant to be used as part of other code, or as replacements for default settings.</p>
<section id="color-markups">
<h3>Color-markups<a class="headerlink" href="#color-markups" title="Permalink to this headline"></a></h3>
<p><em>Griatch, 2017</em></p>
<p>Alternative in-game color markups.</p>
<section id="rpg">
<h2>rpg<a class="headerlink" href="#rpg" title="Permalink to this headline"></a></h2>
<p><em>These are systems specifically related to roleplaying
and rule implementation like character traits, dice rolling and emoting.</em></p>
<section id="contrib-dice">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">dice</span></code><a class="headerlink" href="#contrib-dice" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2012</em></p>
<p>A dice roller for any number and side of dice. Adds in-game dice rolling
(<code class="docutils literal notranslate"><span class="pre">roll</span> <span class="pre">2d10</span> <span class="pre">+</span> <span class="pre">1</span></code>) as well as conditionals (roll under/over/equal to a target)
and functions for rolling dice in code. Command also supports hidden or secret
rolls for use by a human game master.</p>
<p><a class="reference internal" href="Contrib-Dice.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.rpg.dice.html#evennia-contrib-rpg-dice"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="custom-gametime">
<h3>Custom gametime<a class="headerlink" href="#custom-gametime" title="Permalink to this headline"></a></h3>
<p><em>Griatch, vlgeoff 2017</em></p>
<p>Implements Evennias gametime module but for custom game world-specific calendars.</p>
<section id="contrib-health-bar">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">health_bar</span></code><a class="headerlink" href="#contrib-health-bar" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Tim Ashley Jenkins, 2017</em></p>
<p>The function provided in this module lets you easily display visual
bars or meters as a colorful bar instead of just a number. A “health bar”
is merely the most obvious use for this, but the bar is highly customizable
and can be used for any sort of appropriate data besides player health.</p>
<p><a class="reference internal" href="Contrib-Health-Bar.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.rpg.health_bar.html#evennia-contrib-rpg-health-bar"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="logins">
<h3>Logins<a class="headerlink" href="#logins" title="Permalink to this headline"></a></h3>
<section id="email-login">
<h4>Email login<a class="headerlink" href="#email-login" title="Permalink to this headline"></a></h4>
<p><em>Griatch 2012</em></p>
<p>A variant of the standard login system that requires an email to login rather then just name+password.</p>
<section id="contrib-rpsystem">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">rpsystem</span></code><a class="headerlink" href="#contrib-rpsystem" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2015</em></p>
<p>A full roleplaying emote system. Short-descriptions and recognition (only
know people by their looks until you assign a name to them). Room poses. Masks/disguises
(hide your description). Speak directly in emote, with optional language obscuration
(words get garbled if you dont know the language, you can also have different languages
with different sounding garbling). Whispers can be partly overheard from a distance. A
very powerful in-emote reference system, for referencing and differentiate targets
(including objects).</p>
<p><a class="reference internal" href="Contrib-RPSystem.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.rpg.rpsystem.html#evennia-contrib-rpg-rpsystem"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="menu-login">
<h4>Menu login<a class="headerlink" href="#menu-login" title="Permalink to this headline"></a></h4>
<p><em>Griatch 2011, 2019, Vincent-lg 2016</em></p>
<p>A login system using menus asking for name/password rather than giving them as one command.</p>
<section id="contrib-traits">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">traits</span></code><a class="headerlink" href="#contrib-traits" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2020, based on code by Whitenoise and Ainneve contribs, 2014</em></p>
<p>A <code class="docutils literal notranslate"><span class="pre">Trait</span></code> represents a modifiable property on (usually) a Character. They can
be used to represent everything from attributes (str, agi etc) to skills
(hunting 10, swords 14 etc) and dynamically changing things like HP, XP etc.
Traits differ from normal Attributes in that they track their changes and limit
themselves to particular value-ranges. One can add/subtract from them easily and
they can even change dynamically at a particular rate (like you being poisoned or
healed).</p>
<p><a class="reference internal" href="Contrib-Traits.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.rpg.traits.html#evennia-contrib-rpg-traits"><span class="std std-ref">Browse the Code</span></a></p>
</section>
</section>
<section id="random-string-generator">
<h3>Random String Generator<a class="headerlink" href="#random-string-generator" title="Permalink to this headline"></a></h3>
<p><em>Vincent Le Goff 2017</em></p>
<p>Simple pseudo-random generator of strings with rules, avoiding repetitions.</p>
<section id="tutorials">
<h2>tutorials<a class="headerlink" href="#tutorials" title="Permalink to this headline"></a></h2>
<p><em>Helper resources specifically meant to teach a development concept or
to exemplify an Evennia system. Any extra resources tied to documentation
tutorials are found here. Also the home of the Tutorial World demo adventure.</em></p>
<section id="contrib-batchprocessor">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">batchprocessor</span></code><a class="headerlink" href="#contrib-batchprocessor" title="Permalink to this headline"></a></h3>
<p><em>Contibution by Griatch, 2012</em></p>
<p>Simple examples for the batch-processor. The batch processor is used for generating
in-game content from one or more static files. Files can be stored with version
control and then applied to the game to create content.</p>
<p><a class="reference internal" href="Contrib-Batchprocessor.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.tutorials.batchprocessor.html#evennia-contrib-tutorials-batchprocessor"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="unixcommand">
<h3>UnixCommand<a class="headerlink" href="#unixcommand" title="Permalink to this headline"></a></h3>
<p><em>Vincent Le Geoff 2017</em></p>
<p>Add commands with UNIX-style syntax.</p>
<section id="contrib-bodyfunctions">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">bodyfunctions</span></code><a class="headerlink" href="#contrib-bodyfunctions" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2012</em></p>
<p>Example script for testing. This adds a simple timer that has your
character make small verbal observations at irregular intervals.</p>
<p><a class="reference internal" href="Contrib-Bodyfunctions.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.tutorials.bodyfunctions.html#evennia-contrib-tutorials-bodyfunctions"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-mirror">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">mirror</span></code><a class="headerlink" href="#contrib-mirror" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2017</em></p>
<p>A simple mirror object to experiment with. It will respond to being looked at.</p>
<p><a class="reference internal" href="Contrib-Mirror.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.tutorials.mirror.html#evennia-contrib-tutorials-mirror"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-red-button">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">red_button</span></code><a class="headerlink" href="#contrib-red-button" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch, 2011</em></p>
<p>A red button that you can press to have an effect. This is a more advanced example
object with its own functionality and state tracking.</p>
<p><a class="reference internal" href="Contrib-Red-Button.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.tutorials.red_button.html#evennia-contrib-tutorials-red-button"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-talking-npc">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">talking_npc</span></code><a class="headerlink" href="#contrib-talking-npc" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2011. Updated by grungies1138, 2016</em></p>
<p>This is an example of a static NPC object capable of holding a simple menu-driven
conversation. Suitable for example as a quest giver or merchant.</p>
<p><a class="reference internal" href="Contrib-Talking-Npc.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.tutorials.talking_npc.html#evennia-contrib-tutorials-talking-npc"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="contrib-tutorial-world">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">tutorial_world</span></code><a class="headerlink" href="#contrib-tutorial-world" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Griatch 2011, 2015</em></p>
<p>A stand-alone tutorial area for an unmodified Evennia install.
Think of it as a sort of single-player adventure rather than a
full-fledged multi-player game world. The various rooms and objects
are designed to show off features of Evennia, not to be a
very challenging (nor long) gaming experience. As such its of course
only skimming the surface of what is possible. Taking this apart
is a great way to start learning the system.</p>
<p><a class="reference internal" href="Contrib-Tutorial-World.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.tutorials.tutorial_world.html#evennia-contrib-tutorials-tutorial-world"><span class="std std-ref">Browse the Code</span></a></p>
</section>
</section>
<hr class="docutils" />
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>
<p>Contribs not meant to be used as-is, but just as examples to learn from.</p>
<section id="gendersub">
<h3>GenderSub<a class="headerlink" href="#gendersub" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2015</em></p>
<p>Simple example (only) of storing gender on a character and access it in an emote with a custom marker.</p>
<section id="utils">
<h2>utils<a class="headerlink" href="#utils" title="Permalink to this headline"></a></h2>
<p><em>Miscellaneous, optional tools for manipulating text, auditing connections
and more.</em></p>
<section id="contrib-auditing">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">auditing</span></code><a class="headerlink" href="#contrib-auditing" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Johnny, 2017</em></p>
<p>Utility that taps and intercepts all data sent to/from clients and the
server and passes it to a callback of your choosing. This is intended for
quality assurance, post-incident investigations and debugging.</p>
<p><a class="reference internal" href="Contrib-Auditing.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.utils.auditing.html#evennia-contrib-utils-auditing"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="talking-npc">
<h3>Talking NPC<a class="headerlink" href="#talking-npc" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2011</em></p>
<p>A talking NPC object that offers a menu-driven conversation tree.</p>
<section id="contrib-fieldfill">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">fieldfill</span></code><a class="headerlink" href="#contrib-fieldfill" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Tim Ashley Jenkins, 2018</em></p>
<p>This module contains a function that generates an <code class="docutils literal notranslate"><span class="pre">EvMenu</span></code> for you - this
menu presents the player with a form of fields that can be filled
out in any order (e.g. for character generation or building). Each fields value can
be verified, with the function allowing easy checks for text and integer input,
minimum and maximum values / character lengths, or can even be verified by a custom
function. Once the form is submitted, the forms data is submitted as a dictionary
to any callable of your choice.</p>
<p><a class="reference internal" href="Contrib-Fieldfill.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.utils.fieldfill.html#evennia-contrib-utils-fieldfill"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="tutorial-examples">
<h3>Tutorial examples<a class="headerlink" href="#tutorial-examples" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2011, 2015</em></p>
<p>A folder of basic example objects, commands and scripts.</p>
<section id="contrib-random-string-generator">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">random_string_generator</span></code><a class="headerlink" href="#contrib-random-string-generator" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Vincent Le Goff (vlgeoff), 2017</em></p>
<p>This utility can be used to generate pseudo-random strings of information
with specific criteria. You could, for instance, use it to generate
phone numbers, license plate numbers, validation codes, in-game security
passwords and so on. The strings generated will be stored and wont be repeated.</p>
<p><a class="reference internal" href="Contrib-Random-String-Generator.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.utils.random_string_generator.html#evennia-contrib-utils-random-string-generator"><span class="std std-ref">Browse the Code</span></a></p>
</section>
<section id="the-tutorial-world">
<h3>The tutorial-world<a class="headerlink" href="#the-tutorial-world" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2011, 2015</em></p>
<p>The Evennia single-player sole quest. Made to be analyzed to learn.</p>
<ul class="simple">
<li><p><a class="reference internal" href="../Howto/Starting/Part1/Tutorial-World-Introduction.html"><span class="doc std std-doc">The tutorial world introduction</span></a></p></li>
</ul>
</section>
</section>
<hr class="docutils" />
<section id="full-game-systems">
<h2>Full game systems<a class="headerlink" href="#full-game-systems" title="Permalink to this headline"></a></h2>
<p>Full game-dir replacement systems.</p>
<section id="ainneve">
<h3>Ainneve<a class="headerlink" href="#ainneve" title="Permalink to this headline"></a></h3>
<p><em>Evennia community 2015-?</em></p>
<p>This is a community attempt to make an Evennia example game using good practices. It is also a good
place to jump in if you want to help in another project rather than run it alone. Development of this
has stalled a bit so we are looking for enthusiastic people to lead the charge.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/evennia/ainneve">evennia/ainneve repository</a></p></li>
<li><p><a class="reference external" href="https://groups.google.com/g/evennia/c/48PMDirb7go/m/Z9EAuvXZn7UJ">Original discussion thread</a> (external link)</p></li>
</ul>
</section>
<section id="arxcode">
<h3>Arxcode<a class="headerlink" href="#arxcode" title="Permalink to this headline"></a></h3>
<p><em>Tehom 2019</em></p>
<p>Open source code release of the popular Evennia-based <a class="reference external" href="https://play.arxgame.org/">Arx, after the reckoning</a>.
This is a fantasy game with a focus on roleplay and code-supported political intrigue. This code-release
is maintained by Tehom in its own repository so bug reports should be directed there.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/Arx-Game/arxcode">Arxcode repository on github</a></p></li>
<li><p><a class="reference external" href="https://github.com/Arx-Game/arxcode/issues">Arxcode issue tracker</a></p></li>
<li><p><a class="reference internal" href="Arxcode-installing-help.html"><span class="doc std std-doc">Arxcode installation help</span></a> - this may not always be fully up-to-date with
latest Evennia. Report your findings!</p></li>
</ul>
</section>
<section id="evscaperoom">
<h3>Evscaperoom<a class="headerlink" href="#evscaperoom" title="Permalink to this headline"></a></h3>
<p><em>Griatch 2019</em></p>
<p>A full engine for making multiplayer escape-rooms completely in code.
This is based on the 2019 MUD Game jam winner <em>Evscaperoom</em>.</p>
<ul class="simple">
<li><p><a class="reference internal" href="../api/evennia.contrib.evscaperoom.html#evennia-contrib-evscaperoom"><span class="std std-ref">contrib/evscaperoom</span></a> - game engine to make your own escape rooms.</p></li>
<li><p><a class="reference external" href="https://demo.evennia.com">https://demo.evennia.com</a> - a full installation of the original game can
be played by entering the <em>evscaperoom</em> exit in the first Limbo room.</p></li>
<li><p><a class="reference external" href="https://github.com/Griatch/evscaperoom">https://github.com/Griatch/evscaperoom</a> - the original games source code (warning for spoilers if you
want to solve the puzzles and mystery yourself).</p></li>
</ul>
<section id="contrib-tree-select">
<h3>Contrib: <code class="docutils literal notranslate"><span class="pre">tree_select</span></code><a class="headerlink" href="#contrib-tree-select" title="Permalink to this headline"></a></h3>
<p><em>Contribution by Tim Ashley Jenkins, 2017</em></p>
<p>This utility allows you to create and initialize an entire branching EvMenu
instance from a multi-line string passed to one function.</p>
<p><a class="reference internal" href="Contrib-Tree-Select.html"><span class="doc std std-doc">Read the documentation</span></a> - <a class="reference internal" href="../api/evennia.contrib.utils.tree_select.html#evennia-contrib-utils-tree-select"><span class="std std-ref">Browse the Code</span></a></p>
<div class="toctree-wrapper compound">
</div>
<hr class="docutils" />
<p><small>This document page is auto-generated. Manual changes
will be overwritten.</small></p>
</section>
</section>
</section>
@ -358,67 +495,65 @@ want to solve the puzzles and mystery yourself).</p></li>
<script>$('#searchbox').show(0);</script>
<p><h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Contrib modules</a><ul>
<li><a class="reference internal" href="#character-related">Character-related</a><ul>
<li><a class="reference internal" href="#chargen">CharGen</a></li>
<li><a class="reference internal" href="#clothing">Clothing</a></li>
<li><a class="reference internal" href="#health-bar">Health Bar</a></li>
<li><a class="reference internal" href="#multidescer">Multidescer</a></li>
<li><a class="reference internal" href="#">Contribs</a><ul>
<li><a class="reference internal" href="#base-systems">base_systems</a><ul>
<li><a class="reference internal" href="#contrib-awsstorage">Contrib: <code class="docutils literal notranslate"><span class="pre">awsstorage</span></code></a></li>
<li><a class="reference internal" href="#contrib-building-menu">Contrib: <code class="docutils literal notranslate"><span class="pre">building_menu</span></code></a></li>
<li><a class="reference internal" href="#contrib-color-markups">Contrib: <code class="docutils literal notranslate"><span class="pre">color_markups</span></code></a></li>
<li><a class="reference internal" href="#contrib-custom-gametime">Contrib: <code class="docutils literal notranslate"><span class="pre">custom_gametime</span></code></a></li>
<li><a class="reference internal" href="#contrib-email-login">Contrib: <code class="docutils literal notranslate"><span class="pre">email_login</span></code></a></li>
<li><a class="reference internal" href="#contrib-ingame-python">Contrib: <code class="docutils literal notranslate"><span class="pre">ingame_python</span></code></a></li>
<li><a class="reference internal" href="#contrib-menu-login">Contrib: <code class="docutils literal notranslate"><span class="pre">menu_login</span></code></a></li>
<li><a class="reference internal" href="#contrib-mux-comms-cmds">Contrib: <code class="docutils literal notranslate"><span class="pre">mux_comms_cmds</span></code></a></li>
<li><a class="reference internal" href="#contrib-unixcommand">Contrib: <code class="docutils literal notranslate"><span class="pre">unixcommand</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#rooms-movement-and-grid">Rooms, movement and grid</a><ul>
<li><a class="reference internal" href="#xyzgrid">XYZGrid</a></li>
<li><a class="reference internal" href="#extended-room">Extended Room</a></li>
<li><a class="reference internal" href="#map-builder">Map Builder</a></li>
<li><a class="reference internal" href="#simple-door">Simple Door</a></li>
<li><a class="reference internal" href="#slow-exit">Slow exit</a></li>
<li><a class="reference internal" href="#wilderness">Wilderness</a></li>
<li><a class="reference internal" href="#full-systems">full_systems</a><ul>
<li><a class="reference internal" href="#contrib-evscaperoom">Contrib: <code class="docutils literal notranslate"><span class="pre">evscaperoom</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#roleplaying-and-rules">Roleplaying and rules</a><ul>
<li><a class="reference internal" href="#barter-system">Barter system</a></li>
<li><a class="reference internal" href="#crafting">Crafting</a></li>
<li><a class="reference internal" href="#dice">Dice</a></li>
<li><a class="reference internal" href="#mail">Mail</a></li>
<li><a class="reference internal" href="#puzzles">Puzzles</a></li>
<li><a class="reference internal" href="#rp-system">RP System</a></li>
<li><a class="reference internal" href="#rp-language">RP Language</a></li>
<li><a class="reference internal" href="#traits">Traits</a></li>
<li><a class="reference internal" href="#turnbattle">Turnbattle</a></li>
<li><a class="reference internal" href="#game-systems">game_systems</a><ul>
<li><a class="reference internal" href="#contrib-barter">Contrib: <code class="docutils literal notranslate"><span class="pre">barter</span></code></a></li>
<li><a class="reference internal" href="#contrib-clothing">Contrib: <code class="docutils literal notranslate"><span class="pre">clothing</span></code></a></li>
<li><a class="reference internal" href="#contrib-cooldowns">Contrib: <code class="docutils literal notranslate"><span class="pre">cooldowns</span></code></a></li>
<li><a class="reference internal" href="#contrib-crafting">Contrib: <code class="docutils literal notranslate"><span class="pre">crafting</span></code></a></li>
<li><a class="reference internal" href="#contrib-gendersub">Contrib: <code class="docutils literal notranslate"><span class="pre">gendersub</span></code></a></li>
<li><a class="reference internal" href="#contrib-mail">Contrib: <code class="docutils literal notranslate"><span class="pre">mail</span></code></a></li>
<li><a class="reference internal" href="#contrib-multidescer">Contrib: <code class="docutils literal notranslate"><span class="pre">multidescer</span></code></a></li>
<li><a class="reference internal" href="#contrib-puzzles">Contrib: <code class="docutils literal notranslate"><span class="pre">puzzles</span></code></a></li>
<li><a class="reference internal" href="#contrib-turnbattle">Contrib: <code class="docutils literal notranslate"><span class="pre">turnbattle</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#building-and-server-systems">Building and server systems</a><ul>
<li><a class="reference internal" href="#building-menu">Building menu</a></li>
<li><a class="reference internal" href="#field-fill">Field Fill</a></li>
<li><a class="reference internal" href="#in-game-python">In-Game-Python</a></li>
<li><a class="reference internal" href="#menu-builder">Menu-builder</a></li>
<li><a class="reference internal" href="#security-auditing">Security/Auditing</a></li>
<li><a class="reference internal" href="#tree-select">Tree Select</a></li>
<li><a class="reference internal" href="#grid">grid</a><ul>
<li><a class="reference internal" href="#contrib-extended-room">Contrib: <code class="docutils literal notranslate"><span class="pre">extended_room</span></code></a></li>
<li><a class="reference internal" href="#contrib-mapbuilder">Contrib: <code class="docutils literal notranslate"><span class="pre">mapbuilder</span></code></a></li>
<li><a class="reference internal" href="#contrib-simpledoor">Contrib: <code class="docutils literal notranslate"><span class="pre">simpledoor</span></code></a></li>
<li><a class="reference internal" href="#contrib-slow-exit">Contrib: <code class="docutils literal notranslate"><span class="pre">slow_exit</span></code></a></li>
<li><a class="reference internal" href="#contrib-wilderness">Contrib: <code class="docutils literal notranslate"><span class="pre">wilderness</span></code></a></li>
<li><a class="reference internal" href="#contrib-xyzgrid">Contrib: <code class="docutils literal notranslate"><span class="pre">xyzgrid</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#snippets-and-config">Snippets and config</a><ul>
<li><a class="reference internal" href="#color-markups">Color-markups</a></li>
<li><a class="reference internal" href="#custom-gametime">Custom gametime</a></li>
<li><a class="reference internal" href="#logins">Logins</a><ul>
<li><a class="reference internal" href="#email-login">Email login</a></li>
<li><a class="reference internal" href="#menu-login">Menu login</a></li>
<li><a class="reference internal" href="#rpg">rpg</a><ul>
<li><a class="reference internal" href="#contrib-dice">Contrib: <code class="docutils literal notranslate"><span class="pre">dice</span></code></a></li>
<li><a class="reference internal" href="#contrib-health-bar">Contrib: <code class="docutils literal notranslate"><span class="pre">health_bar</span></code></a></li>
<li><a class="reference internal" href="#contrib-rpsystem">Contrib: <code class="docutils literal notranslate"><span class="pre">rpsystem</span></code></a></li>
<li><a class="reference internal" href="#contrib-traits">Contrib: <code class="docutils literal notranslate"><span class="pre">traits</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#random-string-generator">Random String Generator</a></li>
<li><a class="reference internal" href="#unixcommand">UnixCommand</a></li>
<li><a class="reference internal" href="#tutorials">tutorials</a><ul>
<li><a class="reference internal" href="#contrib-batchprocessor">Contrib: <code class="docutils literal notranslate"><span class="pre">batchprocessor</span></code></a></li>
<li><a class="reference internal" href="#contrib-bodyfunctions">Contrib: <code class="docutils literal notranslate"><span class="pre">bodyfunctions</span></code></a></li>
<li><a class="reference internal" href="#contrib-mirror">Contrib: <code class="docutils literal notranslate"><span class="pre">mirror</span></code></a></li>
<li><a class="reference internal" href="#contrib-red-button">Contrib: <code class="docutils literal notranslate"><span class="pre">red_button</span></code></a></li>
<li><a class="reference internal" href="#contrib-talking-npc">Contrib: <code class="docutils literal notranslate"><span class="pre">talking_npc</span></code></a></li>
<li><a class="reference internal" href="#contrib-tutorial-world">Contrib: <code class="docutils literal notranslate"><span class="pre">tutorial_world</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#examples">Examples</a><ul>
<li><a class="reference internal" href="#gendersub">GenderSub</a></li>
<li><a class="reference internal" href="#talking-npc">Talking NPC</a></li>
<li><a class="reference internal" href="#tutorial-examples">Tutorial examples</a></li>
<li><a class="reference internal" href="#the-tutorial-world">The tutorial-world</a></li>
</ul>
</li>
<li><a class="reference internal" href="#full-game-systems">Full game systems</a><ul>
<li><a class="reference internal" href="#ainneve">Ainneve</a></li>
<li><a class="reference internal" href="#arxcode">Arxcode</a></li>
<li><a class="reference internal" href="#evscaperoom">Evscaperoom</a></li>
<li><a class="reference internal" href="#utils">utils</a><ul>
<li><a class="reference internal" href="#contrib-auditing">Contrib: <code class="docutils literal notranslate"><span class="pre">auditing</span></code></a></li>
<li><a class="reference internal" href="#contrib-fieldfill">Contrib: <code class="docutils literal notranslate"><span class="pre">fieldfill</span></code></a></li>
<li><a class="reference internal" href="#contrib-random-string-generator">Contrib: <code class="docutils literal notranslate"><span class="pre">random_string_generator</span></code></a></li>
<li><a class="reference internal" href="#contrib-tree-select">Contrib: <code class="docutils literal notranslate"><span class="pre">tree_select</span></code></a></li>
</ul>
</li>
</ul>
@ -429,8 +564,8 @@ want to solve the puzzles and mystery yourself).</p></li>
<p class="topless"><a href="../Coding/Coding-Overview.html"
title="previous chapter">Coding and development help</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="Crafting.html"
title="next chapter">Crafting system contrib</a></p>
<p class="topless"><a href="../Links.html"
title="next chapter">Links</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
@ -468,13 +603,13 @@ want to solve the puzzles and mystery yourself).</p></li>
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="Crafting.html" title="Crafting system contrib"
<a href="../Links.html" title="Links"
>next</a> |</li>
<li class="right" >
<a href="../Coding/Coding-Overview.html" title="Coding and development help"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Contrib modules</a></li>
<li class="nav-item nav-item-this"><a href="">Contribs</a></li>
</ul>
<div class="develop">develop branch</div>
</div>