'When an object enter a tutorial room we tell other objects in
the room about it by trying to call a hook on them. The Mob object
uses this to cheaply get notified of enemies without having
to constantly scan for them.
Args:
new_arrival (Object): the object that just entered this room.
source_location (Object): the previous location of new_arrival.'

def at_object_receive(self, new_arrival, source_location):

    if (new_arrival.has_player and (not new_arrival.is_superuser)):
        for obj in self.contents_get(exclude=new_arrival):
            if hasattr(obj, 'at_new_arrival'):
                obj.at_new_arrival(new_arrival)
