Looking at the code adding another piece should be doable since I don’t think any pieces call other pieces attributes, and the pieces at game start are just objects in a list…
Adding the knook would be pretty simple actually. I'd just need to combine the code for the rook and the knight and then make a function to snap the mouse position to the right closest point on the crosshair shape.
But sadly I don't think I'm up for it: Do not expect the code to be stable under any modifications, but you can try if you want I guess.