destinations <- []

function OnPostSpawn()
{
    local destination_name = NetProps.GetPropString(self, "m_iszResponseContext")
    for (local destination; destination = Entities.FindByName(destination, destination_name);)
        destinations.append(destination)
    self.ConnectOutput("OnStartTouch", "OnStartTouch")
}

function OnStartTouch()
{
    local destination = destinations[RandomInt(0, destinations.len() - 1)]
    activator.Teleport(true, destination.GetOrigin(), true, destination.GetAbsAngles(), true, destination.GetAbsVelocity())
}