""" Command sets All commands in the game must be grouped in a cmdset. A given command can be part of any number of cmdsets and cmdsets can be added/removed and merged onto entities at runtime. To create new commands to populate the cmdset, see `commands/command.py`. This module wraps the default command sets of Evennia; overloads them to add/remove commands from the default lineup. You can create your own cmdsets by inheriting from them or directly from `evennia.CmdSet`. """ from evennia import default_cmds from commands.command import CmdCharacter from commands.command import CmdLook from commands.command import CmdGet from commands.command import CmdDrop from commands.command import CmdLight from commands.command import CmdTestPy from commands.command import CmdSearch from commands.command import CmdEquip from commands.command import CmdInventory from commands.command import CmdPut from commands.command import CmdOpenCloseDoor from commands.builder import CmdUpdateLightState from commands.builder import CmdOpen from commands.builder import CmdDescDoor from commands.builder import CmdZone from commands.builder import CmdAddToZone from commands.builder import CmdPopen from commands.unloggedin import CmdUnconnectedLook from utils.crafting import CraftingCmdSet from utils.spells import CastingCmdSet class CharacterCmdSet(default_cmds.CharacterCmdSet): """ The `CharacterCmdSet` contains general in-game commands like `look`, `get`, etc available on in-game Character objects. It is merged with the `AccountCmdSet` when an Account puppets a Character. """ key = "DefaultCharacter" def at_cmdset_creation(self): """ Populates the cmdset """ super().at_cmdset_creation() # # any commands you add below will overload the default ones. # self.add(CmdCharacter()) self.add(CmdLook()) self.add(CmdGet()) self.add(CmdDrop()) self.add(CmdTestPy()) self.add(CmdLight()) self.add(CmdSearch()) self.add(CmdEquip()) self.add(CmdInventory()) self.add(CmdPut()) self.add(CmdOpenCloseDoor()) self.add(CmdUpdateLightState()) self.add(CmdOpen()) self.add(CmdDescDoor()) self.add(CmdZone()) self.add(CmdAddToZone()) self.add(CmdPopen()) self.add(CraftingCmdSet()) self.add(CastingCmdSet()) class AccountCmdSet(default_cmds.AccountCmdSet): """ This is the cmdset available to the Account at all times. It is combined with the `CharacterCmdSet` when the Account puppets a Character. It holds game-account-specific commands, channel commands, etc. """ key = "DefaultAccount" def at_cmdset_creation(self): """ Populates the cmdset """ super().at_cmdset_creation() # # any commands you add below will overload the default ones. # class UnloggedinCmdSet(default_cmds.UnloggedinCmdSet): """ Command set available to the Session before being logged in. This holds commands like creating a new account, logging in, etc. """ key = "DefaultUnloggedin" def at_cmdset_creation(self): """ Populates the cmdset """ super().at_cmdset_creation() # # any commands you add below will overload the default ones. # self.add(CmdUnconnectedLook()) class SessionCmdSet(default_cmds.SessionCmdSet): """ This cmdset is made available on Session level once logged in. It is empty by default. """ key = "DefaultSession" def at_cmdset_creation(self): """ This is the only method defined in a cmdset, called during its creation. It should populate the set with command instances. As and example we just add the empty base `Command` object. It prints some info. """ super().at_cmdset_creation() # # any commands you add below will overload the default ones. #