# evennia.commands.default.account

Account (OOC) commands. These are stored on the Account object and self.caller is thus always an Account, not an Object/Character.

These commands go in the AccountCmdset and are accessible also when puppeting a Character (although with lower priority)

These commands use the account_caller property which tells the command parent (MuxCommand, usually) to setup caller correctly. They use self.account to make sure to always use the account object rather than self.caller (which change depending on the level you are calling from) The property self.character can be used to access the character when these commands are triggered with a connected character (such as the case of the ooc command), it is None if we are OOC.

Note that under MULTISESSION_MODE > 2, Account commands should use self.msg() and similar methods to reroute returns to the correct method. Otherwise all text will be returned to all connected sessions.

class `evennia.commands.default.account.``CmdOOCLook`(**kwargs)

  Bases: `evennia.commands.default.account.MuxAccountLookCommand`

  look while out-of-character

  Usage:

    look

  Look in the ooc state.

  `key` = 'look'
  `aliases` = ['l', 'ls']
  `locks` = 'cmd:all()'
  `help_category` = 'general'
  `account_caller` = True
  `func`()

    implement the ooc look command

  `lock_storage` = 'cmd:all()'
  `search_index_entry` = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}

class `evennia.commands.default.account.``CmdIC`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  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.

  `key` = 'ic'
  `locks` = 'cmd:all()'
  `aliases` = ['puppet']
  `help_category` = 'general'
  `account_caller` = True
  `func`()

    Main puppet method

  `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.commands.default.account.``CmdOOC`(**kwargs)

  Bases: `evennia.commands.default.account.MuxAccountLookCommand`

  stop puppeting and go ooc

  Usage:

    ooc

  Go out-of-character (OOC).

  This will leave your current character and put you in a incorporeal OOC state.

  `key` = 'ooc'
  `locks` = 'cmd:pperm(Player)'
  `aliases` = ['unpuppet']
  `help_category` = 'general'
  `account_caller` = True
  `func`()

    Implement function

  `lock_storage` = 'cmd:pperm(Player)'
  `search_index_entry` = {'aliases': 'unpuppet', 'category': 'general', 'key': 'ooc', 'no_prefix': ' unpuppet', 'tags': '', 'text': '\n stop puppeting and go ooc\n\n Usage:\n ooc\n\n Go out-of-character (OOC).\n\n This will leave your current character and put you in a incorporeal OOC state.\n '}

class `evennia.commands.default.account.``CmdPassword`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  change your password

  Usage:

    password <old password> = <new password>

  Changes your password. Make sure to pick a safe one.

  `key` = 'password'
  `locks` = 'cmd:pperm(Player)'
  `account_caller` = True
  `func`()

    hook function.

  `aliases` = []
  `help_category` = 'general'
  `lock_storage` = 'cmd:pperm(Player)'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'password', 'no_prefix': ' ', 'tags': '', 'text': '\n change your password\n\n Usage:\n password <old password> = <new password>\n\n Changes your password. Make sure to pick a safe one.\n '}

class `evennia.commands.default.account.``CmdQuit`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  quit the game

  Usage:

    quit

  Switch:

    all - disconnect all connected sessions

  Gracefully disconnect your current session from the game. Use the /all switch to disconnect from all sessions.

  `key` = 'quit'
  `switch_options` = ('all',)
  `locks` = 'cmd:all()'
  `account_caller` = True
  `func`()

    hook function

  `aliases` = []
  `help_category` = 'general'
  `lock_storage` = 'cmd:all()'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'quit', 'no_prefix': ' ', 'tags': '', 'text': '\n quit the game\n\n Usage:\n quit\n\n Switch:\n all - disconnect all connected sessions\n\n Gracefully disconnect your current session from the\n game. Use the /all switch to disconnect from all sessions.\n '}

class `evennia.commands.default.account.``CmdCharCreate`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  create a new character

  Usage:

    charcreate <charname> [= desc]

  Create a new character, optionally giving it a description. You may use upper-case letters in the name - you will nevertheless always be able to access your character using lower-case letters if you want.

  `key` = 'charcreate'
  `locks` = 'cmd:pperm(Player)'
  `help_category` = 'general'
  `account_caller` = True
  `func`()

    create the new character

  `aliases` = []
  `lock_storage` = 'cmd:pperm(Player)'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'charcreate', 'no_prefix': ' ', 'tags': '', 'text': '\n create a new character\n\n Usage:\n charcreate <charname> [= desc]\n\n Create a new character, optionally giving it a description. You\n may use upper-case letters in the name - you will nevertheless\n always be able to access your character using lower-case letters\n if you want.\n '}

class `evennia.commands.default.account.``CmdOption`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  Set an account option

  Usage:

    option[/save] [name = value]

  Switches:

    save - Save the current option settings for future logins. clear - Clear the saved options.

  This command allows for viewing and setting client interface settings. Note that saved options may not be able to be used if later connecting with a client with different capabilities.

  `key` = 'option'
  `aliases` = ['options']
  `switch_options` = ('save', 'clear')
  `locks` = 'cmd:all()'
  `account_caller` = True
  `func`()

    Implements the command

  `help_category` = 'general'
  `lock_storage` = 'cmd:all()'
  `search_index_entry` = {'aliases': 'options', 'category': 'general', 'key': 'option', 'no_prefix': ' options', 'tags': '', 'text': '\n Set an account option\n\n Usage:\n option[/save] [name = value]\n\n Switches:\n save - Save the current option settings for future logins.\n clear - Clear the saved options.\n\n This command allows for viewing and setting client interface\n settings. Note that saved options may not be able to be used if\n later connecting with a client with different capabilities.\n\n\n '}

class `evennia.commands.default.account.``CmdSessions`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  check your connected session(s)

  Usage:

    sessions

  Lists the sessions currently connected to your account.

  `key` = 'sessions'
  `locks` = 'cmd:all()'
  `help_category` = 'general'
  `account_caller` = True
  `func`()

    Implement function

  `aliases` = []
  `lock_storage` = 'cmd:all()'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'sessions', 'no_prefix': ' ', 'tags': '', 'text': '\n check your connected session(s)\n\n Usage:\n sessions\n\n Lists the sessions currently connected to your account.\n\n '}

class `evennia.commands.default.account.``CmdWho`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  list who is currently online

  Usage:

    who doing

  Shows who is currently online. Doing is an alias that limits info also for those with all permissions.

  `key` = 'who'
  `aliases` = ['doing']
  `locks` = 'cmd:all()'
  `account_caller` = True
  `func`()

    Get all connected accounts by polling session.

  `help_category` = 'general'
  `lock_storage` = 'cmd:all()'
  `search_index_entry` = {'aliases': 'doing', 'category': 'general', 'key': 'who', 'no_prefix': ' doing', 'tags': '', 'text': '\n list who is currently online\n\n Usage:\n who\n doing\n\n Shows who is currently online. Doing is an alias that limits info\n also for those with all permissions.\n '}

class `evennia.commands.default.account.``CmdColorTest`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  testing which colors your client support

  Usage:

    color ansi | xterm256

  Prints a color map along with in-mud color codes to use to produce them. It also tests what is supported in your client. Choices are 16-color ansi (supported in most muds) or the 256-color xterm256 standard. No checking is done to determine your client supports color - if not you will see rubbish appear.

  `key` = 'color'
  `locks` = 'cmd:all()'
  `help_category` = 'general'
  `account_caller` = True
  `slice_bright_fg` = slice(7, 15, None)
  `slice_dark_fg` = slice(15, 23, None)
  `slice_dark_bg` = slice(-8, None, None)
  `slice_bright_bg` = slice(None, None, None)
  `table_format`(table)

    Helper method to format the ansi/xterm256 tables. Takes a table of columns [[val,val,…],[val,val,…],…]

  `func`()

    Show color tables

  `aliases` = []
  `lock_storage` = 'cmd:all()'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'color', 'no_prefix': ' ', 'tags': '', 'text': '\n testing which colors your client support\n\n Usage:\n color ansi | xterm256\n\n Prints a color map along with in-mud color codes to use to produce\n them. It also tests what is supported in your client. Choices are\n 16-color ansi (supported in most muds) or the 256-color xterm256\n standard. No checking is done to determine your client supports\n color - if not you will see rubbish appear.\n '}

class `evennia.commands.default.account.``CmdQuell`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  use character’s permissions instead of account’s

  Usage:

    quell unquell

  Normally the permission level of the Account is used when puppeting a Character/Object to determine access. This command will switch the lock system to make use of the puppeted Object’s permissions instead. This is useful mainly for testing. Hierarchical permission quelling only work downwards, thus an Account cannot use a higher-permission Character to escalate their permission level. Use the unquell command to revert back to normal operation.

  `key` = 'quell'
  `aliases` = ['unquell']
  `locks` = 'cmd:pperm(Player)'
  `help_category` = 'general'
  `account_caller` = True
  `func`()

    Perform the command

  `lock_storage` = 'cmd:pperm(Player)'
  `search_index_entry` = {'aliases': 'unquell', 'category': 'general', 'key': 'quell', 'no_prefix': ' unquell', 'tags': '', 'text': "\n use character's permissions instead of account's\n\n Usage:\n quell\n unquell\n\n Normally the permission level of the Account is used when puppeting a\n Character/Object to determine access. This command will switch the lock\n system to make use of the puppeted Object's permissions instead. This is\n useful mainly for testing.\n Hierarchical permission quelling only work downwards, thus an Account cannot\n use a higher-permission Character to escalate their permission level.\n Use the unquell command to revert back to normal operation.\n "}

class `evennia.commands.default.account.``CmdCharDelete`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  delete a character - this cannot be undone!

  Usage:

    chardelete <charname>

  Permanently deletes one of your characters.

  `key` = 'chardelete'
  `locks` = 'cmd:pperm(Player)'
  `help_category` = 'general'
  `func`()

    delete the character

  `aliases` = []
  `lock_storage` = 'cmd:pperm(Player)'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'chardelete', 'no_prefix': ' ', 'tags': '', 'text': '\n delete a character - this cannot be undone!\n\n Usage:\n chardelete <charname>\n\n Permanently deletes one of your characters.\n '}

class `evennia.commands.default.account.``CmdStyle`(**kwargs)

  Bases: `evennia.commands.default.muxcommand.MuxCommand`

  In-game style options

  Usage:

    style style <option> = <value>

  Configure stylings for in-game display elements like table borders, help entriest etc. Use without arguments to see all available options.

  `key` = 'style'
  `switch_options` = ['clear']
  `func`()

    This is the hook function that actually does all the work. It is called by the cmdhandler right after self.parser() finishes, and so has access to all the variables defined therein.

  `list_styles`()
  `set`()
  `aliases` = []
  `help_category` = 'general'
  `lock_storage` = 'cmd:all();'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'style', 'no_prefix': ' ', 'tags': '', 'text': '\n In-game style options\n\n Usage:\n style\n style <option> = <value>\n\n Configure stylings for in-game display elements like table borders, help\n entriest etc. Use without arguments to see all available options.\n\n '}