the-infocom-files / zork2

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

Fear spell prints misleading message if you can't flee #65

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

I didn't mean to trigger this, but I wanted to check if the Gnome of Zurich was still there if I killed myself while in the Small Room. (From what I can see, KILL-INTERUPTS only disables the timers for most of the events you may be in the middle of.)

Somewhere along the way, the Wizard must have cast the "fear" spell on me.

>GO THROUGH CURTAIN
You feel somewhat disoriented as you pass through...

Small Room
This is a small, bare room with no distinguishing features. There are no exits
from this room.
There is a Gnome of Zurich here.

>WAIT
All at once, you are overcome by fear! There's is a Gnome of Zurich in here!
Maybe it's after you! You run from the room screaming in terror!

>

So there was an extra line break, and I didn't actually run anywhere. This is handled by the MAGIC-ACTOR routine:

              (<AND <EQUAL? ,SPELL? ,S-FEAR>
                <SET V <INFESTED? ,HERE>>>
               <TELL
"All at once, you are overcome by fear! There's is a " D .V " in here!
Maybe it's after you! ">
               <COND (<FSET? <LOC ,WINNER> ,VEHBIT>
                  <TELL
"You huddle in the corner, terrified." CR>)
                 (T
                  <TELL
"You run from the room screaming in terror!" CR CR>
                  <RANDOM-WALK>)>)>)>>

So there is a case to handle when you can't run because you're in a vehicle. Ideally, it should have printed this message here, too. But really, what are the odds of this particular set of circumstances ever happening again?

eriktorbjorn commented 4 years ago

Similarly, I just got this in the Low Room:

>SE
Oops, you seem a little unsteady... I'm not sure you got where you intended
going.

>

At this point, I was both confused by the magnetic field in the Low Room, and by the wizard's Ferment spell. I don't know if that had anything to do with it. I had to wait for the spell to wear off before I could get out.