mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
91 lines
2.6 KiB
Python
91 lines
2.6 KiB
Python
"""
|
|
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 wrap the default command sets of Evennia; overload 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
|
|
|
|
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 PlayerCmdSet when a Player puppets a Character.
|
|
"""
|
|
key = "DefaultCharacter"
|
|
|
|
def at_cmdset_creation(self):
|
|
"""
|
|
Populates the cmdset
|
|
"""
|
|
super(CharacterCmdSet, self).at_cmdset_creation()
|
|
#
|
|
# any commands you add below will overload the default ones.
|
|
#
|
|
|
|
|
|
class PlayerCmdSet(default_cmds.PlayerCmdSet):
|
|
"""
|
|
This is the cmdset available to the Player at all times. It is
|
|
combined with the CharacterCmdSet when the Player puppets a
|
|
Character. It holds game-account-specific commands, channel
|
|
commands etc.
|
|
"""
|
|
key = "DefaultPlayer"
|
|
|
|
def at_cmdset_creation(self):
|
|
"""
|
|
Populates the cmdset
|
|
"""
|
|
super(PlayerCmdSet, self).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(UnloggedinCmdSet, self).at_cmdset_creation()
|
|
#
|
|
# any commands you add below will overload the default ones.
|
|
#
|
|
|
|
|
|
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(SessionCmdSet, self).at_cmdset_creation()
|
|
#
|
|
# any commands you add below will overload the default ones.
|
|
#
|