Changed initial look command (at login) to be called from at_post_login hook instead of from the default connect command, supposedly making it easier for those only wanting to change this one line rather than having to re-target connect. The player.at_post_login now also calls look in case no character is defined, for the cases when logging in without having a character selected. Resolves Issue 277.

This commit is contained in:
Griatch 2012-10-14 12:28:01 +02:00
parent 97973dd5f9
commit 532cbc5fb6
3 changed files with 16 additions and 14 deletions

View file

@ -90,18 +90,15 @@ class CmdUnconnectedConnect(MuxCommand):
session.execute_cmd("quit")
return
# actually do the login. This will call all hooks.
# actually do the login. This will call all other hooks:
# session.at_init()
# if character:
# at_first_login() # only once
# at_pre_login()
# player.at_post_login() - calls look if no character is set
# character.at_post_login() - this calls look command by default
session.session_login(player)
# we are logged in. Look around.
character = player.character
if character:
character.execute_cmd("look")
else:
# we have no character yet; use player's look, if it exists
player.execute_cmd("look")
class CmdUnconnectedCreate(MuxCommand):
"""
Create a new account.

View file

@ -761,6 +761,8 @@ class Character(Object):
self.location.msg_contents("%s has entered the game." % self.name, exclude=[self])
self.location.at_object_receive(self, self.location)
# call look
self.execute_cmd("look")

View file

@ -288,11 +288,14 @@ class Player(TypeClass):
def at_post_login(self):
"""
Called at the end of the login
process, just before letting
them loose.
Called at the end of the login process, just before letting
them loose. This is called before an eventual Character's
at_post_login hook.
"""
pass
# Character.at_post_login also looks around. Only use
# this as a backup when logging in without a character
if not self.character:
self.execute_cmd("look")
def at_disconnect(self, reason=None):
"""