the-infocom-files / starcross

Starcross
5 stars 3 forks source link

Closing the outer airlock door when there is no vacuum outside #70

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

This is what it looks like when you open the red airlock outer door from inside the airlock, which has vacuum outside:

>OPEN OUTER DOOR
The outer door opens and air rushes out of the airlock.

>CLOSE OUTER DOOR
The outer door closes and air rushes into the airlock.

This is what it looks like with the blue airlock, which has air outside:

>OPEN OUTER DOOR
The blue outer door opens.

>CLOSE OUTER DOOR
The outer door closes and air rushes into the airlock.

I'm not sure why air rushes into the lock, since it's already pressurized. This is what it looks like in AIRLOCK-OPEN:

           (<VERB? OPEN PUSH> ;"must be outer door, then"
        <COND (<FSET? ,PRSO ,OPENBIT>
               <ALREADY "open">)
              (<FSET? .INNER ,OPENBIT>
               <TELL
"A bright light over the door flashes menacingly until you remove your
hand." CR>)
              (ELSE
               <FSET ,PRSO ,OPENBIT>
               <COND (<FSET? .OUTLOC ,SPACEBIT>
                  <VACUUM-HERE>
                  <CRLF>
                  <COND (<NOT ,SUIT-ON?>
                     <CRLF>
                     <JIGS-UP ,ACADEMY-DEATH>)>)
                 (T <DOOR-OPENS>)>
               T)>)
           (<NOT <FSET? ,PRSO ,OPENBIT>>
        <ALREADY "closed">)
           (ELSE
        <FCLEAR ,PRSO ,OPENBIT>
        <AIR-HERE>)>>

So when you open, it checks if the outside has SPACEBIT before calling VACUUM-HERE. But when you close it always calls AIR-HERE.

Maybe it's deliberate - I don't know how airlocks usually work - or maybe it's cut and paste from the airlock aboard the Starcross, which always opens into vacuum.