I have a strange question.
I’m looking into Mystery House (Sierra, Ken and Roberta Williams) and am having trouble understanding a piece of the parser logic. Specifically, when typing LOOK NOTE in a place where there is no note and the player doesn’t have one in inventory.
The response from the game is IM NOT CARRYING THAT
However, that phrase does not show up in messages.txt in the .dsk file.
As part of their archeological study Inspecting the Foundation of Mystery House, Aycock and Biittner posted some tools and logic extractions to github: GitHub - aycock/mh: Analysis tools for the 1980 Apple II game Mystery House
In dumpgame.out we see the following logic
if VERB = "LOOK" and NOUN = "NOTE" and OBJECT "NOTE" CARRIED then
print "THERE IS WRITING ON IT"
if VERB = "LOOK" and NOUN = "NOTE" and OBJECT "NOTE" CARRIED then
print "THERE IS WRITING ON IT"
if VERB = "LOOK" and NOUN = "NOTE" and OBJECT "NOTE" CARRIED then
print "THERE IS WRITING ON IT"
if VERB = "LOOK" and NOUN = "NOTE" then
print "YOU DONT HAVE IT"
But YOU DONT HAVE IT doesn’t appear when LOOK NOTE is performed. So something is overriding that case, but doesn’t override other, similar cases. ![]()
In “Mystery House Taken Over” mhto.inf file I see that “note” and “read” have IM NOT CARRYING THAT and not YOU DONT HAVE IT. However, YOU DONT HAVE IT does show in mhto.inf when trying to burn the candle when it isn’t in the player’s possession (which is slightly different than the original’s apostrophe’d YOU DON'T HAVE IT)
So, it doesn’t seem to me that the original ever bothers with any proper “is the noun in question in scope” issues. The “light a candle you don’t possess” logic works as expected, based on dumpgame.out (i.e. IM NOT CARRYING THAT doesn’t jump in and override things). You can also LOOK GUN at any time to see the bullet count, even if you’ve never seen the gun at all. Why wouldn’t those cases have also been overridden with the IM NOT CARRYING THAT message?
Admittedly, dumpgame.out doesn’t contain EVERYTHING from the game, but I would have expected IM NOT CARRYING THAT to show up in messages.txt at the very least.
Does anyone have any insight into this message and what exact condition triggers the display of IM NOT CARRYING THAT? (maybe it’s a simple as there is some secret code somewhere that overrides only for notes?
) Are there any other known cases of IM NOT CARRYING THAT displaying? Is there any known way to trigger the YOU DONT HAVE IT message that the original game logic indicates should happen?
