the-infocom-files/suspect

You're supposed to be able to analyze the stain on Veronica's costume

Opened this issue · 0 comments

You're supposed to be able to analyze the stain on Veronica's costume, but it doesn't seem to work:

>DETECTIVE, ANALYZE STAIN
The detective reaches down and snips a small sample of stained cloth from the
costume.
"Sergeant Duffy, analyze the cloth sample!" Sergeant Duffy takes the cloth
sample. He seems to almost disappear. "He's a fine public servant," comments the
detective.

Some time later

>WAIT
The detective approaches you.
The detective interrupts.
"analysis is back from the lab. I thought you might be interested in what it
says." The detective hands it to you. It reads, omitting the irrelevant details:

"Nothing of relevance to the case was discovered."

First of all, it should say "The analysis is back ...", not just "analysis is back ..." This was printed by LAB-RESULTS-TO-PLAYER:

			<MOVE .F ,PLAYER>
			<COND (.FIRST
			       <SET FIRST <>>
			       <TELL
CTHE ,DETECTIVE>
			       <COND (<EQUAL? .GARG ,G-REACHED>
				      <TELL " comes up to you and">)>
			       <TELL " interrupts.">)>
			<TELL CR
"\"">
			<COND (<EQUAL? .F ,NULL-ANALYSIS>
			       <TELL "analysis">)
			      (T
			       <TELL CTHE .F>)>
			<TELL
" is back from the lab. I thought you might be interested
in what it says.\" " CTHE ,DETECTIVE " hands it to you. It reads, omitting the
irrelevant details:|
" CR <GETP .F ,P?TEXT> CR>)>

Second, it shouldn't have been the NULL-ANALYSIS, it should have been the STAIN-ANALYSIS. This is what DETECTIVE-F does:

			     (<EQUAL? ,PRSO ,STAIN>
			      <TELL
CTHE ,DETECTIVE " reaches down and snips a small sample of stained cloth
from the costume." CR>
			      <CHECK-JUNK ,STAIN-SAMPLE>)

This eventually makes its way to DUFFY-TO-LAB, where it checks which object he was sent to analyze:

	       (<EQUAL? .OBJ ,STAIN>
		<SET OBJ ,STAIN-ANALYSIS>)

It should check for STAIN-SAMPLE here, not STAIN.

If this change is made, I don't think the NULL-ANALYSIS will ever be used. Still, both bugs should be fixed I think.