Hehe -- aye, it's pretty slick. By making it completely recursive in a controlled manner (possible by the use of lists to create an artificial variable stack) I was able to really tighten up the algorithm. It simply looks up the item you want to make, if it doesn't have one, it looks up the two components required to make that item, and calls itself for making each of them. This process repeats for as far down however many branches of the tree there are until all prerequisite items have been combined to create the initially crafted item. It works very well

-Triane