def __call__(self, source, **_):
        if self.instanced:
            if source.group:
                if source.group.instance:
                    instance = source.group.instance
                    if self.destination not in instance.rooms:
                        raise ActionError("Your group has entered a different instance.  You must leave your group to go this way.")
                else:
                    instance = source.group.instance = self.instance_manager.next_instance()
            else:
                instance = self.instance_manager.next_instance()
            destination = instance.get_room(self.destination)
        else:
            destination = self.dest_room
        source.change_env(destination, self)
dataset/ETHPy150Open genzgd/Lampost-Mud/lampost/env/instance.py/Entrance.__call__/original