evennia.contrib.rpg.character_creator.character_creator

Character Creator contrib, by InspectorCaracal

Features

The primary feature of this contrib is defining the name and attributes of a new character through an EvMenu. It provides an alternate charcreate command as well as a modified at_look method for your Account class.

Usage

In order to use the contrib, you will need to create your own chargen EvMenu. The included example_menu.py gives a number of useful techniques and examples, including how to allow players to choose and confirm character names from within the menu.

class evennia.contrib.rpg.character_creator.character_creator.ContribCmdIC(**kwargs)[source]

Bases: evennia.commands.default.account.CmdIC

control an object you have permission to puppet

Usage:

ic <character>

Go in-character (IC) as a given Character.

This will attempt to “become” a different object assuming you have the right to do so. Note that it’s the ACCOUNT character that puppets characters/objects and which needs to have the correct permission!

You cannot become an object that is already controlled by another account. In principle <character> can be any in-game object as long as you the account have access right to puppet it.

func()[source]

Main puppet method

aliases = ['puppet']
help_category = 'general'
key = 'ic'
lock_storage = 'cmd:all()'
search_index_entry = {'aliases': 'puppet', 'category': 'general', 'key': 'ic', 'no_prefix': ' puppet', 'tags': '', 'text': '\n control an object you have permission to puppet\n\n Usage:\n ic <character>\n\n Go in-character (IC) as a given Character.\n\n This will attempt to "become" a different object assuming you have\n the right to do so. Note that it\'s the ACCOUNT character that puppets\n characters/objects and which needs to have the correct permission!\n\n You cannot become an object that is already controlled by another\n account. In principle <character> can be any in-game object as long\n as you the account have access right to puppet it.\n '}
class evennia.contrib.rpg.character_creator.character_creator.ContribCmdCharCreate(**kwargs)[source]

Bases: evennia.commands.default.muxcommand.MuxAccountCommand

create a new character

Begin creating a new character, or resume character creation for an existing in-progress character.

You can stop character creation at any time and resume where you left off later.

key = 'charcreate'
locks = 'cmd:pperm(Player) and is_ooc()'
help_category = 'general'
func()[source]

create the new character

aliases = []
lock_storage = 'cmd:pperm(Player) and is_ooc()'
search_index_entry = {'aliases': '', 'category': 'general', 'key': 'charcreate', 'no_prefix': ' ', 'tags': '', 'text': '\n create a new character\n\n Begin creating a new character, or resume character creation for\n an existing in-progress character.\n\n You can stop character creation at any time and resume where\n you left off later.\n '}
class evennia.contrib.rpg.character_creator.character_creator.ContribChargenCmdSet(cmdsetobj=None, key=None)[source]

Bases: evennia.commands.cmdset.CmdSet

key = 'Contrib Chargen CmdSet'
at_cmdset_creation()[source]

Hook method - this should be overloaded in the inheriting class, and should take care of populating the cmdset by use of self.add().

path = 'evennia.contrib.rpg.character_creator.character_creator.ContribChargenCmdSet'
class evennia.contrib.rpg.character_creator.character_creator.ContribChargenAccount(*args, **kwargs)[source]

Bases: evennia.accounts.accounts.DefaultAccount

A modified Account class that changes the OOC look output to better match the contrib and incorporate in-progress characters.

ooc_appearance_template = '--------------------------------------------------------------------\n{header}\n\n{sessions}\n\n |whelp|n - more commands\n |wcharcreate|n - create new character\n |wchardelete <name>|n - delete a character\n |wic <name>|n - enter the game as character (|wooc|n to get back here)\n |wic|n - enter the game as latest character controlled.\n\n{characters}\n{footer}\n--------------------------------------------------------------------'
at_look(target=None, session=None, **kwargs)[source]

Called when this object executes a look. It allows to customize just what this means.

Parameters
  • target (Object or list, optional) – An object or a list objects to inspect. This is normally a list of characters.

  • session (Session, optional) – The session doing this look.

  • **kwargs (dict) – Arbitrary, optional arguments for users overriding the call (unused by default).

Returns

look_string (str)

A prepared look string, ready to send

off to any recipient (usually to ourselves)

exception DoesNotExist

Bases: evennia.accounts.accounts.DefaultAccount.DoesNotExist

exception MultipleObjectsReturned

Bases: evennia.accounts.accounts.DefaultAccount.MultipleObjectsReturned

path = 'evennia.contrib.rpg.character_creator.character_creator.ContribChargenAccount'
typename = 'ContribChargenAccount'