Fix broken heldItem/selectedSlot

* Reimplement equiping by type