the-infocom-files / planetfall

Planetfall
11 stars 3 forks source link

You can take the towel and survival kit without leaving the safety web #10

Open eriktorbjorn opened 5 years ago

eriktorbjorn commented 5 years ago

This probably isn't intended behavior:

>LOOK
Escape Pod, in the safety web
This is one of the Feinstein's primary escape pods, for use in extreme
emergencies. A mass of safety webbing, large enough to hold several dozen
people, fills half the pod. The controls are entirely automated. The bulkhead
leading out is closed.
There is a towel here. (outside the safety web)
There is a survival kit here. (outside the safety web)

>TAKE TOWEL
You can't reach it from here.

>TAKE SURVIVAL KIT
You can't reach it from here.

>READ TOWEL
(Taking the towel first)
"S.P.S. FEINSTEIN
  Escape Pod #42
   Don't Panic!"

>READ SURVIVAL KIT
(Taking the survival kit first)
How can I read a survival kit?

I'm not sure how to fix it. If you drop an object, it ends up outside the webbing, so setting TRYTAKEBIT on the towel and survival kit isn't quite enough. Besides, for once the problem happens with implicit taking on an object you can read.

And I don't know how serious this is anyway.

eriktorbjorn commented 5 years ago

It's the webbing that keeps you from taking objects outside it - see SAFETY-WEB-F - so you're definitely not supposed to be able to take those objects like that. Do we need a hack in ITAKE?

I tried comparing to the Solid Gold version (the released version; it's not built here yet), but there the safety webbing seems to be pretty broken and didn't handle any of the actions. (So I could open the pod door without getting out of the webbing, for instance.)

eriktorbjorn commented 5 years ago

The same bug also affects BED. I don't know about the other two vehicles I could find in the game, HELICOPTER-OBJECT and GLOBAL-POD.

I also realized that the code currently prevents you from picking up objects that are inside containers that you are carrying, e.g. the ID card in your uniform pocket. It should perhaps check <HELD? ,PRSO> to get around that?