Added a convenience property player.character that will return the (puppeted) Object if in MULTISESSION_MODE 0 or 1, all puppeted Objects for MULTISESSION_MODE=2. Note that this is not quite the same as the old player.character - it will only return a character if that character is actually puppeted (the old scheme returned it also if the Player was offline).
This commit is contained in:
parent
be2d0086a3
commit
ea4c30a0b1
2 changed files with 14 additions and 2 deletions
|
|
@ -187,8 +187,8 @@ class MuxCommandOOC(MuxCommand):
|
||||||
# caller is an Object/Character
|
# caller is an Object/Character
|
||||||
self.character = self.caller
|
self.character = self.caller
|
||||||
self.caller = self.caller.player
|
self.caller = self.caller.player
|
||||||
elif hasattr(self.caller, "character"):
|
elif utils.inherits_from(self.caller, "src.players.players.Player"):
|
||||||
# caller was already a Player
|
# caller was already a Player
|
||||||
self.character = self.caller.get_character(sessid=self.sessid)
|
self.character = self.caller.get_puppet(self.sessid)
|
||||||
else:
|
else:
|
||||||
self.character = None
|
self.character = None
|
||||||
|
|
|
||||||
|
|
@ -484,6 +484,18 @@ class PlayerDB(TypedObject):
|
||||||
return puppets
|
return puppets
|
||||||
return [puppet.typeclass for puppet in puppets]
|
return [puppet.typeclass for puppet in puppets]
|
||||||
|
|
||||||
|
def __get_single_puppet(self):
|
||||||
|
"""
|
||||||
|
This is a legacy convenience link for users of
|
||||||
|
MULTISESSION_MODE 0 or 1. It will return
|
||||||
|
only the first puppet. For mode 2, this returns
|
||||||
|
a list of all characters.
|
||||||
|
"""
|
||||||
|
puppets = self.get_all_puppets()
|
||||||
|
if _MULTISESSION_MODE in (0, 1):
|
||||||
|
return puppets and puppets[0] or None
|
||||||
|
return puppets
|
||||||
|
character = property(__get_single_puppet)
|
||||||
|
|
||||||
# utility methods
|
# utility methods
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue