From 4e11b2b5b542cd6ab8cb1f35a58cc822fa0f0d33 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 22 Feb 2015 14:07:42 +0100 Subject: [PATCH] Fixed bug in dark room. The mob currently has issues accepting exit locks --- evennia/contrib/tutorial_world/mob.py | 5 ----- evennia/contrib/tutorial_world/rooms.py | 2 +- evennia/locks/lockfuncs.py | 1 + 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/evennia/contrib/tutorial_world/mob.py b/evennia/contrib/tutorial_world/mob.py index cc3af9fe81..c125966a51 100644 --- a/evennia/contrib/tutorial_world/mob.py +++ b/evennia/contrib/tutorial_world/mob.py @@ -301,14 +301,9 @@ class Mob(tut_objects.TutorialObject): # no target found, look for an exit. exits = [exi for exi in self.location.exits if exi.access(self, "traverse")] - last_location = self.ndb.last_location if exits: # randomly pick an exit exit = random.choice(self.location.exits) - if len(exits) > 1 and exit.destination == last_location: - # don't go back the same way we came if we - # can avoid it. - return # move there. self.move_to(exit.destination) else: diff --git a/evennia/contrib/tutorial_world/rooms.py b/evennia/contrib/tutorial_world/rooms.py index 8690282237..314b3aa36a 100644 --- a/evennia/contrib/tutorial_world/rooms.py +++ b/evennia/contrib/tutorial_world/rooms.py @@ -473,7 +473,7 @@ class DarkRoom(TutorialRoom): self.db.tutorial_info = "This is a room with custom command sets on itself." # the room starts dark. self.db.is_lit = False - self.cmdsets.add(DarkCmdSet, permanent=True) + self.cmdset.add(DarkCmdSet, permanent=True) def at_init(self): """ diff --git a/evennia/locks/lockfuncs.py b/evennia/locks/lockfuncs.py index b46117b4b8..11e4daf1b5 100644 --- a/evennia/locks/lockfuncs.py +++ b/evennia/locks/lockfuncs.py @@ -540,6 +540,7 @@ def has_player(accessing_obj, accessed_obj, *args, **kwargs): This is a useful lock for traverse-locking Exits to restrain NPC mobiles from moving outside their areas. """ + print "lock:", accessing_obj, accessed_obj, accessing_obj.has_player return hasattr(accessing_obj, "has_player") and accessing_obj.has_player def serversetting(accessing_obj, accessed_obj, *args, **kwargs):