The surprising thing really is that the bug is as subtle and minor as it is, given that the whole main game loop was turned inside out in the course of doing the core-UI split

/* Make sure it isn't still equipped */ for (i = 0; i < player->body.count; i++) { if (slot_object(player, i) == obj) player->body.slots[i].obj = NULL; }
/* Make sure it isn't still equipped */ for (i = 0; i < player->body.count; i++) { if (slot_object(player, i) == obj) { player->body.slots[i].obj = NULL; player->upkeep->equip_cnt--; } }
Leave a comment: