'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:
        string = (msg or '{character}    arrives    to    {destination}    from    {origin}.')
    else:
        string = '{character}    arrives    to    {destination}.'
    origin = source_location
    destination = self.location
    exits = []
    mapping = (mapping or {})
    mapping.update({'character': self})
    if origin:
        exits = [o for o in destination.contents if ((o.location is destination) and (o.destination is origin))]
        if exits:
            exits[0].callbacks.call('msg_arrive', self, exits[0], origin, destination, string, mapping)
            string = exits[0].callbacks.get_variable('message')
            mapping = exits[0].callbacks.get_variable('mapping')
    if (not string):
        return
    super(EventCharacter, self).announce_move_to(source_location, msg=string, mapping=mapping)
