Added an at_obj_receive hook to basic player/object script parents. This allows

e.g. room parents to react when a player enters them.
This commit is contained in:
Griatch 2009-10-25 15:25:15 +00:00
parent d06ac3e239
commit eb6f82fea0
5 changed files with 22 additions and 11 deletions

View file

@ -169,9 +169,15 @@ class ObjectManager(models.Manager):
"""
Searches through all objects returning those which has a certain script parent.
"""
o_query = self.filter(script_parent__exact=script_parent)
o_query = self.filter(script_parent__exact=script_parent)
return o_query.exclude(type__in=[defines_global.OTYPE_GARBAGE,
defines_global.OTYPE_GOING])
def local_object_script_parent_search(self, script_parent, location):
o_query = self.filter(script_parent__exact=script_parent).filter(location__iexact=location)
return o_query.exclude(type__in=[defines_global.OTYPE_GARBAGE,
defines_global.OTYPE_GOING])
def list_search_object_namestr(self, searchlist, ostring, dbref_only=False,
limit_types=False, match_type="fuzzy",

View file

@ -1002,6 +1002,9 @@ class Object(models.Model):
# Execute eventual extra commands on this object after moving it
self.scriptlink.at_after_move()
# Perform eventual extra commands on the receiving location
target.scriptlink.at_obj_receive(self)
if force_look and self.is_player():
self.execute_cmd('look')