[rec.games.misc] Omega bug fix

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 )