If I were making such a weapon, I'd use entities and then use WED to make the objects SKILLn (where 'n' is whatever skill number you want) 9. (also arbitrary).

Then, I'd use c_trace (as I said before, use AUM 59 for reference) to trace from the weapon to 10000 quants forward. If the ray hits an object and you.skilln == 9 (i.e. a vase you placed on the floor and set its skilln to 9), store the objects position in a variable, store the players current position in a variable, then swap them.

Sure its a little more complicated than that, and if I coded it I imagine it would take me the better part of a day (so I won't ) Sorry I can't be of more help.