diff --git a/evennia/contrib/rpg/rpsystem/rpsystem.py b/evennia/contrib/rpg/rpsystem/rpsystem.py index b85237e2ad..ed044f0eca 100644 --- a/evennia/contrib/rpg/rpsystem/rpsystem.py +++ b/evennia/contrib/rpg/rpsystem/rpsystem.py @@ -1352,7 +1352,7 @@ class ContribRPObject(DefaultObject): results.extend( [ obj - for obj in search_obj(searched_obj.key, candidates=candidates, **kwargs) + for obj in search_obj(searched_obj.key, candidates=[searched_obj], **kwargs) if obj not in results ] ) diff --git a/evennia/contrib/rpg/rpsystem/tests.py b/evennia/contrib/rpg/rpsystem/tests.py index abef83a4ce..964ab4d3c7 100644 --- a/evennia/contrib/rpg/rpsystem/tests.py +++ b/evennia/contrib/rpg/rpsystem/tests.py @@ -356,6 +356,10 @@ class TestRPSystem(BaseEvenniaTest): result = self.speaker.get_search_result("something", candidates) self.assertIn(self.obj1, result) self.assertIn(self.obj2, result) + # search by sdesc with 2-disambiguator: only second object should be found + result = self.speaker.get_search_result("2-something", candidates) + self.assertNotIn(self.obj1, result) + self.assertIn(self.obj2, result) # search empty candidates: no objects should be found result = self.speaker.get_search_result("something", candidates=[]) self.assertNotIn(self.obj1, result)