fixed error occurring when caller does not have a player attribute

This commit is contained in:
Dan Feeney 2016-09-07 08:13:49 -05:00 committed by Griatch
parent 5349ecfd61
commit 4330d37f20

View file

@ -234,18 +234,19 @@ class CmdEvMenuNode(Command):
if _restore(caller):
return
orig_caller = caller
caller = caller.player
menu = caller.ndb._menutree
if not menu:
if _restore(caller):
return
caller = self.session
if hasattr(caller, 'player'):
caller = caller.player
menu = caller.ndb._menutree
if not menu:
# can't restore from a session
err = "Menu object not found as %s.ndb._menutree!" % (orig_caller)
orig_caller.msg(err)
raise EvMenuError(err)
if _restore(caller):
return
caller = self.session
menu = caller.ndb._menutree
if not menu:
# can't restore from a session
err = "Menu object not found as %s.ndb._menutree!" % (orig_caller)
orig_caller.msg(err)
raise EvMenuError(err)
# we have a menu, use it.
menu._input_parser(menu, self.raw_string, caller)