the-infocom-files / amfv

A Mind Forever Voyaging
5 stars 2 forks source link

Are you supposed to be able to tell Mitchell to go to bed? #72

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

There is this code in MITCHELL-F:

           (<AND <VERB? WALK-TO>
             <PRSO? ,BED>>
        <COND (<L? ,STIME 1320>
               <TELL "\"Aw, Dad, it's too early!\"" CR>)
              (T
               <TELL "\"Just a couple more minutes, Dad.\"" CR>)>)

It looks like it's meant as responses to "MITCHELL, GO TO BED". But since it's not in the part of the routine that handles when MITCHELL is the WINNER, I can't see any way to trigger it.

eriktorbjorn commented 4 years ago

Moving the code seems to work:

     <COND (<EQUAL? ,MITCHELL ,WINNER>
        <COND (<VERB? HELLO>
               <TELL "\"Hi, Dad!\"" CR>)
              (<AND <VERB? WALK-TO>
                <PRSO? ,BED>>
               <COND (<L? ,STIME 1320>
                  <TELL "\"Aw, Dad, it's too early!\"" CR>)
                 (T
                  <TELL "\"Just a couple more minutes, Dad.\"" CR>)>)
              (T
               <TELL "\"Please, Dad! I'm trying to ">
               <COND (<EQUAL? ,MITCHELL-COUNTER 1>
                  <TELL "get ready for school">)
                 (<EQUAL? ,MITCHELL-COUNTER 3>
                  <TELL "do a logic game">)
                 (T
                  <TELL "do my homework">)>
               <TELL "!\"" CR>
               <CLEAR-BUF>)>)
>MITCHELL, HELLO
"Hi, Dad!"

>MITCHELL, CLEAN THE ROOM
"Please, Dad! I'm trying to do a logic game!"

>MITCHELL, GO TO BED
"Aw, Dad, it's too early!"

Or, if you try it later in the day:

>MITCHELL, CLEAN THE ROOM
"Please, Dad! I'm trying to do my homework!"

>MITCHELL, GO TO BED
"Just a couple more minutes, Dad."

So that's probably what was intended here.