dest_me called when the room is destroyed. You need to over-ride this if you've cloned items into the room. (to make sure you destroy them and they don't sit round eating memory) void dest_me() { if(object) object->dest_me(); // clean up my stuff ::dest_me(); // let the room do it's stuff }