mirror of
https://github.com/evennia/evennia.git
synced 2026-03-20 06:46:31 +01:00
Splitting the scripted parent system out into the gamesrc directory. There will be more explanation of this later.
This commit is contained in:
parent
00297d336a
commit
122bf4e3ff
13 changed files with 79 additions and 33 deletions
38
src/script_parents/basicplayer.py
Normal file
38
src/script_parents/basicplayer.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
"""
|
||||
This is the basic Evennia-standard player parent.
|
||||
|
||||
NOTE: This file should NOT be directly modified. Sub-class the BasicPlayer
|
||||
class in game/gamesrc/parents/base/basicplayer.py and change the
|
||||
SCRIPT_DEFAULT_PLAYER variable in settings.py to point to the new class.
|
||||
"""
|
||||
import time
|
||||
from src import comsys
|
||||
|
||||
class EvenniaBasicPlayer(object):
|
||||
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")
|
||||
Loading…
Add table
Add a link
Reference in a new issue