This is similar to the helm of opposite alignment case fixed some time ago. Deferring the setting of foo->known until an item is fully worn (because it used to get set earlier but gave away information if the wear operation was interrupted) didn't take into account that foo might end up Null in various circumstances. So Boots_on() needs to validate uarmf before setting uarmf->known in case putting on boots of levitation while on a sink caused them to come right back off. I put similar validation into all foo_on() just in case (as far as I'm aware, only Boots_on() and Helmet_on() actually need that).
30 KiB
30 KiB