Moving some of the login tasks out of sessions.py and into the BasicPlayer script parent. Also, added seconds to the 'time' command, which I apparently forgot.

This commit is contained in:
Greg Taylor 2008-06-15 21:29:27 +00:00
parent b12ba45cc7
commit cf18029be1
7 changed files with 69 additions and 23 deletions

View file

@ -0,0 +1,39 @@
"""
The basic Player object script parent.
"""
import time
from src import comsys
from src.scripts.basicobject import BasicObject
class BasicPlayer(BasicObject):
def at_pre_login(self):
"""
Everything done here takes place before the player is actually
'logged in', in a sense that they're not ready to send logged in
commands or receive communication.
"""
pobject = self.source_obj
session = pobject.get_session()
# Load the player's channels from their JSON __CHANLIST attribute.
comsys.load_object_channels(pobject)
pobject.set_attribute("Last", "%s" % (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()),))
pobject.set_attribute("Lastsite", "%s" % (session.address[0],))
pobject.set_flag("CONNECTED", True)
def at_post_login(self):
"""
The user is now logged in. This is what happens right after the moment
they are 'connected'.
"""
pobject = self.source_obj
session = pobject.get_session()
session.msg("You are now logged in as %s." % (pobject.name,))
pobject.get_location().emit_to_contents("%s has connected." %
(pobject.get_name(show_dbref=False),), exclude=pobject)
session.execute_cmd("look")
def class_factory(source_obj):
return BasicPlayer(source_obj)