Feature blacksmithing

This feature is not even properly started, but I've changed some things in base classes, which I believe are pretty useful