the-infocom-files / zork2

Zork II: The Wizard of Frobozz
8 stars 4 forks source link

The clear sphere has an LDESC that is (almost) never used (should probably be FDESC) #56

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago
<OBJECT PALANTIR-3
    (IN IN-AQUARIUM)
    (SYNONYM PALANTIR SPHERE)
    (ADJECTIVE CRYSTAL WHITE CLEAR)
    (DESC "clear crystal sphere")
    (LDESC "There is a clear crystal sphere lying in the sand.")
    (FLAGS STAGGERED TAKEBIT NDESCBIT TRANSBIT)
    (ACTION PALANTIR)
    (VALUE 20)>

But this doesn't work. Once you've broken the aquarium, all you see is:

>LOOK
Aquarium Room
Here a dark hallway turns a corner. To the south is a dark room, to the east is
fitful light.
There is a dead sea serpent in a heap here.
An Elvish sword of great antiquity is here.
A shattered aquarium fills the northern half of the room.
The aquarium contains:
  A clear crystal sphere

And since taking the sphere clears the LDESC, as seen in the PALANTIR routine:

           (<AND <VERB? TAKE> <==? ,PRSO ,PALANTIR-3>>
        <PUTP ,PRSO ,P?LDESC <>>
        <RFALSE>)>>

there's no way we can ever see it. Or is there... implicit take to the "rescue" again:

>READ CLEAR SPHERE
(Taken)
How does one read a clear crystal sphere?

>DROP IT
Dropped.

>LOOK
Aquarium Room
Here a dark hallway turns a corner. To the south is a dark room, to the east is
fitful light.
There is a clear crystal sphere lying in the sand.
There is a dead sea serpent in a heap here.
An Elvish sword of great antiquity is here.
A shattered aquarium fills the northern half of the room.
eriktorbjorn commented 4 years ago

Ok, it seems that in my head I mixed up LDESC and FDESC. If the sphere uses FDESC instead of LDESC, it works fine even if it's in the aquarium.