the-infocom-files / hitchhiker

The Hitchhiker’s Guide to the Galaxy
21 stars 4 forks source link

Telling the guards to take their rifles does not give the rifles NDESCBIT again #46

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago
>LOOK
Dais
This is a platform surrounded by a crowd. Several members of the crowd are
holding a huge banner. Just to the east is the Heart of Gold. A semi-circle of
guards are aiming photon rifles at you and Trillian, who is pointing a blaster
at your head.

>GUARDS, DROP RIFLES
The guards hesitate, then toss their photon rifles into a pile in front of you.

>LOOK
Dais
This is a platform surrounded by a crowd. Several members of the crowd are
holding a huge banner. Just to the east is the Heart of Gold. Many disarmed
guards are nervously eyeing you and Trillian, who is pointing a blaster at your
head.
There is a photon rifle here.

>GUARDS, TAKE RIFLES
They do so.

>LOOK
Dais
This is a platform surrounded by a crowd. Several members of the crowd are
holding a huge banner. Just to the east is the Heart of Gold. A semi-circle of
guards are aiming photon rifles at you and Trillian, who is pointing a blaster
at your head.
It looks like one of the guards is holding:
  a photon rifle

When you tell the guards to drop their rifles, this happens in GUARDS-F:

               <COND (<OR <AND <IN? ,RIFLES ,GUARDS>
                       <VERB? SHOOT>
                       ,DONT-FLAG>
                  <AND <IN? ,RIFLES ,GUARDS>
                       <VERB? DROP>
                       <PRSO? ,RIFLES>>>
                  <FCLEAR ,RIFLES ,NDESCBIT>
                  <ENABLE <QUEUE I-GUARDS 8>>
                  <MOVE ,RIFLES ,HERE>
                  <FSET ,RIFLES ,TAKEBIT>
                  <FSET ,RIFLES ,TRYTAKEBIT>
                  <TELL "The guards hesitate, then toss their "
D ,RIFLES "s into a pile in front of you." CR>)

When you tell them to pick up their rifles again, this happens:

                 (<AND <VERB? TAKE>
                   <PRSO? ,RIFLES>>
                  <COND (<IN? ,RIFLES ,GUARDS>
                     <TELL "\"We already have them!\"" CR>)
                    (T
                     <MOVE ,RIFLES ,GUARDS>
                     <ENABLE <QUEUE I-GUARDS 5>>
                     <TELL "They do so." CR>)>)

At the very least, it seems like it should set the rifle's NDESCBIT again here. (Also, it seems strange that all the guards drop their rifles, but you only see one on the ground afterwards. I'm not going to report that as a separate bug, though.)