Design and pointer issues

This is mostly a design question as at the moment I have no idea where to go at this point.
I am creating a system that will produce npcs and creatures (effectively the same thing for purposes of my current issue) with this system I have a recipe which currently contains a pointer to the finished product of the recipe. I realized very quickly that this causes a lot of issues and am now trying to figure out how to best refactor or progress in a different avenue which ever makes the system better. The point of the system is o be able to for example take 5 pieces of iron make them into a sword take the sword to a location give it to a soldier and you have a swordsman. I have the resource system working though depending on changes to the npc portion I may change how that section is working. I also have the ability to transfer the resources to new locations. The issue comes in when I start trying to spawn actors based on the same pointer resulting in nothing really happening. I need my npcs to be individual instances of the idea but I need to be able to say this location makes swordsmen, this one makes blacksmiths, and this one makes basic villagers. Any questions or comments are welcome and advice is currently in high demand. Thanks in advance

try to make a boolean statment on the soldger and when a sword is created just set the boolean to true and make it to check it and set vissabilty of the sword