What you could do is: Create the pattern, repeat it on the X and Z axis with an Array modifier, create a second wall that will be the outside wall, give the object a Simple Deform modifier (Bend mode an 360°) to make it a cylinder. Keep a copy of the object somewhere, apply the the modifiers, join the top and bottom rims with a Bridge Edge Loops. Remove the doubles and clean the mesh. Now give the cylinder a Mesh Deform modifier with a cube as Object, scale and move down the top face of the cube so that it gives you a cone shape.
Problem with this solution is that the pattern tends to squeeze from the bottom to the top as the cone’s radius decreases. To avoid that you could first apply the 2 Array modifiers then move down the top edge with Proportional Editing enabled (Linear mode) so that it linearly squeezes the whole wall on the Z axis. Then give it the Simple Deform and Mesh Deform. This operation will compensate the Mesh Deform squeeze.