Creating by Aaron A. Reed, Sand-Dancer, Smelling problem.

Creating by Aaron A. Reed, Sand-Dancer, Smelling problem.

I’m going through the book “Creating Interactive Fiction with Inform 7” and have hit a small snag with this bit of code:

[i]The smell of gasoline is fixed in place in Control Center. “[if player holds scent]You can clearly smell gasoline coming from under that [sheet of corrugated metal][otherwise]You catch a faint whiff of gasoline coming from somewhere[end if].”

Understand “faint/whiff” as smell of gasoline. Understand “gas” as smell of gasoline when gas can is not visible.

Instead of doing anything to smell of gasoline, say “[if player holds scent]It’s coming from beneath that [sheet of corrugated metal][else]You can’t tell where the smell is coming from[end if].”

Instead of smelling Control Center, try smelling smell of gasoline.[/i]

Yet in the game:

The Control Center
But hey, on one pile here’s a perfectly good can opener.

You catch a faint whiff of gasoline coming from somewhere.

smell
You smell nothing unexpected.

First I found the source code from his website and copied over that code to easily eliminate any transcription errors I might have made and that didn’t work. I have tried making it “the Control Center” which I don’t think is functionally different and I’ve tried “Instead of smelling when in Control Center, try smelling smell of gasoline.” as well as a “the” variant of that that line. I just can’t seem to figure out what I’m doing wrong.

I’m not sure what’s going on. I don’t have the book, but I tried fleshing your code out just enough to compile and run, and it seems to work.

[code]Control Center is a room. There is a sheet of corrugated metal in Control Center.

There is a gas can. Scent is a thing.

The smell of gasoline is fixed in place in Control Center. “[if player holds scent]You can clearly smell gasoline coming from under that [sheet of corrugated metal][otherwise]You catch a faint whiff of gasoline coming from somewhere[end if].”

Understand “faint/whiff” as smell of gasoline. Understand “gas” as smell of gasoline when gas can is not visible.

Instead of doing anything to smell of gasoline, say “[if player holds scent]It’s coming from beneath that [sheet of corrugated metal][else]You can’t tell where the smell is coming from[end if].”

Instead of smelling Control Center, try smelling smell of gasoline.[/code]

Using the source text from Aaron’s site, I also cannot reproduce the bug. You might try the commands “actions” and “rules on” (or possibly “rules all”) before smelling, to see what turns up.

Thank you. I need to use that a bit more habitually.

Problem: I was abstracting myself to the room in question and smelling. Actions revealed that I was still smelling the room the room I had been abstracted from. It appears the smell command does not properly read your location after an abstraction move. Same with listen.

This strikes me as a problem with the abstraction command.

Indeed; to quote zarf

As Juhana says after that post, the debugging command for moving the player is “gonear.”

I’ve run into similar problems when “looking” after using “abstract” to move to a location. It would seem that the “abstracting” process affects one’s senses in strange ways.

Robert Rothman