'Called after the move if the move was not quiet. At this point
we are standing in the new location.
Args:
source_location (Object): The place we came from
msg (str, optional): the replacement message if location.
mapping (dict, optional): additional mapping objects.
You can override this method and call its parent with a
message to simply change the default message.  In the string,
you can use the following as mappings (between braces):
object: the object which is moving.
exit: the exit from which the object is moving (if found).
origin: the location of the object before the move.
destination: the location of the object after moving.'

def announce_move_to(self, source_location, msg=None, mapping=None):

    if ((not source_location) and self.location.has_player):
        string = ('You    now    have    %s    in    your    possession.' % self.get_display_name(self.location))
        self.location.msg(string)
        return
    if source_location:
        if msg:
            string = msg
        else:
            string = '{object}    arrives    to    {destination}    from    {origin}.'
    else:
        string = '{object}    arrives    to    {destination}.'
    origin = source_location
    destination = self.location
    exits = []
    if origin:
        exits = [o for o in destination.contents if ((o.location is destination) and (o.destination is origin))]
    if (not mapping):
        mapping = {}
    mapping.update({'object': self, 'exit': (exits[0] if exits else 'somewhere'), 'origin': (origin or 'nowhere'), 'destination': (destination or 'nowhere')})
    destination.msg_contents(string, exclude=(self,), mapping=mapping)
