mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Added sessid keyword to at_pre_puppet and at_post_unpuppet hooks, where the sessid is otherwise not yet available, as per Issue 383.
This commit is contained in:
parent
92339362ec
commit
0164574c00
2 changed files with 9 additions and 7 deletions
|
|
@ -465,12 +465,13 @@ class Object(TypeClass):
|
|||
"""
|
||||
pass
|
||||
|
||||
def at_pre_puppet(self, player):
|
||||
def at_pre_puppet(self, player, sessid=None):
|
||||
"""
|
||||
Called just before a Player connects to this object
|
||||
to puppet it.
|
||||
|
||||
player - connecting player object
|
||||
sessid - session id controlling the connection
|
||||
"""
|
||||
pass
|
||||
|
||||
|
|
@ -488,13 +489,14 @@ class Object(TypeClass):
|
|||
"""
|
||||
pass
|
||||
|
||||
def at_post_unpuppet(self, player):
|
||||
def at_post_unpuppet(self, player, sessid=None):
|
||||
"""
|
||||
Called just after the Player successfully disconnected
|
||||
from this object, severing all connections.
|
||||
|
||||
player - the player object that just disconnected from
|
||||
this object.
|
||||
sessid - session id controlling the connection
|
||||
"""
|
||||
pass
|
||||
|
||||
|
|
@ -793,7 +795,7 @@ class Character(Object):
|
|||
"Default is to look around after a move."
|
||||
self.execute_cmd('look')
|
||||
|
||||
def at_pre_puppet(self, player):
|
||||
def at_pre_puppet(self, player, sessid=None):
|
||||
"""
|
||||
This recovers the character again after having been "stoved away" at the unpuppet
|
||||
"""
|
||||
|
|
@ -809,7 +811,7 @@ class Character(Object):
|
|||
self.location.msg_contents("%s has entered the game." % self.name, exclude=[self])
|
||||
self.location.at_object_receive(self, self.location)
|
||||
else:
|
||||
player.msg("{r%s has no location and no home is set.{n" % self)
|
||||
player.msg("{r%s has no location and no home is set.{n" % self, sessid=sessid)
|
||||
|
||||
def at_post_puppet(self):
|
||||
"""
|
||||
|
|
@ -820,7 +822,7 @@ class Character(Object):
|
|||
if self.location:
|
||||
self.location.msg_contents("%s has entered the game." % self.name, exclude=[self])
|
||||
|
||||
def at_post_unpuppet(self, player):
|
||||
def at_post_unpuppet(self, player, sessid=None):
|
||||
"""
|
||||
We stove away the character when the player goes ooc/logs off, otherwise the character object will
|
||||
remain in the room also after the player logged off ("headless", so to say).
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ class PlayerDB(TypedObject):
|
|||
# with a lingering player/sessid reference from an unclean server kill or similar
|
||||
|
||||
if normal_mode:
|
||||
_GA(obj.typeclass, "at_pre_puppet")(self.typeclass)
|
||||
_GA(obj.typeclass, "at_pre_puppet")(self.typeclass, sessid=sessid)
|
||||
# do the connection
|
||||
obj.sessid = sessid
|
||||
obj.player = self
|
||||
|
|
@ -453,7 +453,7 @@ class PlayerDB(TypedObject):
|
|||
del obj.dbobj.player
|
||||
session.puppet = None
|
||||
session.puid = None
|
||||
_GA(obj.typeclass, "at_post_unpuppet")(self)
|
||||
_GA(obj.typeclass, "at_post_unpuppet")(self.typeclass, sessid=sessid)
|
||||
return True
|
||||
|
||||
def unpuppet_all(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue