From ce0bfe8a0df31ee120b1ae2be396d55a6d56835f Mon Sep 17 00:00:00 2001 From: Griatch Date: Wed, 7 Sep 2016 23:46:05 +0200 Subject: [PATCH] Made some corrections to the if tree. Resolves #1042. --- evennia/utils/evmenu.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/evennia/utils/evmenu.py b/evennia/utils/evmenu.py index 7b7818997c..7ac25e0b67 100644 --- a/evennia/utils/evmenu.py +++ b/evennia/utils/evmenu.py @@ -234,19 +234,18 @@ class CmdEvMenuNode(Command): if _restore(caller): return orig_caller = caller - if hasattr(caller, 'player'): - caller = caller.player + caller = caller.player if hasattr(caller, "player") else None + menu = caller.ndb._menutree if caller else None + if not menu: + if caller and _restore(caller): + return + caller = self.session menu = caller.ndb._menutree if not menu: - 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) + # 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)