dgibbs@bnr-fos.UUCP (David Gibbs) (08/05/89)
This is a fix for a small but annoying bug in the inventory code. The symptom of this bug was that a players immunities had a tendency to disappear after a while, even though they were generated by a magic item that was supposed to give a permanent (while worn) version of that effect. The cause was that items that were taken directly from in use to the pack did not have the in use flag set to false, so if they were later retrieved from the pack and dropped, the ability was lost a second time, leaving it permanently lost. (Until you could get two items giving that ability. But you could then lose it even more.) The following change fixes this bug: File : oinv.c in procedure: put_to_pack(slot) insert at line 994 (of file) temp->used = FALSE; (context follows) temp = split_item(num,oslot); waitflag = (oslot->used && (oslot->number == num)); conform_lost_objects(num,oslot); if (waitflag) morewait(); + temp->used = FALSE; add_to_pack(temp); Hope this helps. (Or was I the only person to be bothered by this?) -David Gibbs (dgibbs@bnr-fos.UUCP or ...!utgpu!bnr-vpa!bnr-fos!dgibbs )