Quick bugfixes for #614 (NPC update)

Made it so certain bits of code don't loop over the inventory (shouldn't be happening outside of the class itself, any more).

Silenced the warning about non-virtual destructors by, well, making the destructors virtual. They should've been virtual anyway.