Nine times out of ten, when I think I’ve found either a bug or a bit of Inform that I don’t understand, I write an example to post here, and in the process of writing the example I figure out what I was doing wrong.
This always makes me a little sad, because I try to make my examples cute, and this wastes the effort. Of course, making my examples cute means I’m making them less minimal than they should be to be ideal examples. But that’s only because I’m a bad person.
This example has no problems. I thought it did. I was wrong. But dammit, it’s cute.
[code]“The Muffin Man”
The Kitchen is a room. “Gleaming stainless-steel and ruthless science collide in this, your temple of culinary achievement. An exit leads north.” Rule for printing the name of the Kitchen: say “Utility Muffin Research Kitchen”.
The muffin is here. The description of the muffin is “It’s a muffin of your own design.” Instead of taking the muffin, say “You’ve positioned it far too nicely to mess with it further. Time to put the icing on it.”
The player carries a fully-charged icing anointment utensil. The description of the utensil is “Your piping bag is fully-charged with icing.”
Understand “icing bag” and “pastry bag” and “piping bag” and “canvas snoot” and “sterile canvas snoot” and “snoot/bag/icing” as the utensil.
The can’t put onto what’s not a supporter rule is not listed in the check putting it on rulebook.
Check putting it on:
if the noun is the utensil and the second noun is the muffin, end the game in victory instead;
if the second noun is not a supporter, say “Nah.” instead;
Volume of Things That Work Just Fine
The Break Room is north of the Kitchen. “The only exit leads south.”
A dummy is here. It is fixed in place. The dummy can be hostile. The dummy is hostile. The description of the dummy is “The words I HATE YOU are stencilled across the front of the dummy. Because it hates you. And because you stencilled them there. Because it hates you.”
Understand “Wail on [something]” as attacking when the muffin is not touchable and the dummy is hostile. [this works cleanly with the two conditions …]
Understand “Hate [something]” as attacking.
Instead of attacking the dummy, say “You wail on the dummy for a while, making it hate you more.”
Volume of the Code I Mistakenly Thought Wasn’t Working
Understand “ice [something] with [other things]” as putting it on (with nouns reversed) when the muffin is touchable and the dummy is hostile.[/code]