I noticed that it eats uses on dclick, so if you esc, you loose the use, or the target is not socketable, you loose the use. Is there a way to correct this?
that would require some mods.
I have attached a version of XmlSockets.cs, SocketHammer.cs, and ExceptionalSocketHammer.cs that supports that.
It adds a new OnBeforeAddSocket method that is called after successful target selection but before actually adding the socket.
The decrement of uses was moved from OnDoubleClick to that new method.
Now, if targeting is cancelled, or an invalid target is selected, or you dont have the resources to socket, or it is not socketable, the uses are not decreased.
It also now destroys the hammer after the final use with the message
"The hammer has no further use and is destroyed"
The Exceptional Hammer still has the uses remaining decrease on dclick, I fixed mine but if you wanna update the zip