the-infocom-files / enchanter

Enchanter
8 stars 3 forks source link

"REACH INTO EGG" claims it's empty, even when it's not #30

Open eriktorbjorn opened 5 years ago

eriktorbjorn commented 5 years ago
>INVENTORY
You are carrying:
  A beautiful, ornamented egg
  The beautiful, ornamented egg contains:
    A shredded scroll

>REACH INTO EGG
It's empty.

I think the problem is in V-REACH-IN:

           (<OR <NOT <SET OBJ <FIRST? ,PRSO>>>
            <FSET? .OBJ ,INVISIBLE>
            <NOT <FSET? .OBJ ,TAKEBIT>>>
        <TELL "It's empty." CR>)

Here is what the egg really contains, according to the Infodump tool:

 .  . [ 48] "beautiful, ornamented egg"
 .  .  . [ 47] "lapis handle"
 .  .  . [ 41] "shredded scroll"
 .  .  . [ 43] "diamond-studded button"
 .  .  . [ 44] "golden crank"
 .  .  . [ 45] "silver slide"
 .  .  . [ 46] "emerald knob"

The lapis handle is not invisible, but it also does not have TAKEBIT.

This bug happens in some Infocom releases as well. The only data files I found in Zarf's archive where the shredded scroll was the first object were r26 and r29. I don't know if it's significant, but if I compile the version from The ZIL Files, the shredded scroll is first too.

Regardless, it seems like V-REACH-IN should be a bit more thorough.