the-infocom-files / moonmist

Moonmist
4 stars 3 forks source link

"someone, DANCE WITH someone" doesn't always print the appropriate response #33

Open eriktorbjorn opened 3 years ago

eriktorbjorn commented 3 years ago
>JACK, DANCE WITH TAMARA
He dances with her for a minute.

>TAMARA, DANCE WITH IRIS
Iris doesn't fancy a dance with you.

It would have been more appropriate if it had printed "Iris doesn't fancy a dance with her." or something like that. But V-DANCE only has a message for when someone doesn't fancy a dance with you:

           (<OR <AND <ZERO? ,GENDER-KNOWN>
             <EQUAL? ,WINNER ,PLAYER>>
            <AND <NOT <FSET? ,WINNER ,FEMALE>>
             <FSET? ,PRSO ,FEMALE>>
            <AND <FSET? ,WINNER ,FEMALE>
             <NOT <FSET? ,PRSO ,FEMALE>>>>
        <TELL CHE ,WINNER dance " with" HIM ,PRSO " for a minute." CR>)
           (T <TELL CHE ,PRSO " doesn't fancy a dance with you." CR>)>>

Changing the last line to (T <TELL CHE ,PRSO " doesn't fancy a dance with" HIM ,WINNER "." CR>)>> should just magically work. The HIM token will cause a call to HIM-HER-IT which has a special case for PLAYER.