the-infocom-files / moonmist

Moonmist
4 stars 3 forks source link

V-BOARD always prints "in" when you're already in/on the object #29

Open eriktorbjorn opened 2 years ago

eriktorbjorn commented 2 years ago
>GET ON LOVE SEAT
You are now on the love seat.

>GET ON LOVE SEAT
(You are already in the love seat.)

V-BOARD checks if it should print "in" or "on", but not in the case where you already are. There it will always print "in".

       (<AND <FSET? ,PRSO ,VEHBIT>
         ;<FSET? ,PRSO ,CONTBIT>>
    ;<V-SIT T>
    <COND (<IN? ,WINNER ,PRSO>
           <ALREADY ,PLAYER>
           <TELL "in" THE ,PRSO ".)" CR>)
          (T
           <MOVE ,WINNER ,PRSO>
           <TELL "You are now ">
           <COND (<FSET? ,PRSO ,SURFACEBIT>
              <TELL "on">)
             (T <TELL "in">)>
           <TELL THE ,PRSO "." CR>
           ;<APPLY <GETP ,PRSO ,P?ACTION> ,M-ENTER>
           <RTRUE>)>)