Making 'it' refer to something specific

I believe in inform 7, there’s a way to change what it refers to when the user types <verb> it, but I can’t seem to find the reference. Turns out it is not a very productive thing to google. :slight_smile:

Help is greatly appreciated.

Changing the Meaning of Pronouns

set pronouns from <thing>

…but this isn’t the same thing as explicitly defining it. If Inform thinks thing is an it, now it means thing. If it thinks thing is a her, now her means thing.

I’m not talking about it as defining an objects pronoun. I’m talking about it as what the Inform engine currently thinks is the focused item.

If I was in a car with a door and a glove box, and I typed open it, I think Inform 7 would try to infer what the player meant by it with some set of rules. But I think there’s a way to set the focus for what it refers to.

Yeah, what Zed posted is how you manage this - by default, “it” is just the last object you typed a command about. But if when the player opens the glove box and gets told there’s a single glove in there, you want “take it” to mean taking the glove, you’d add “set pronouns from the glove” in an after (or whatever) opening the glove box rule. I think Zed’s further point was just that you can’t mess around with “it” specifically, since the functionality is only for the pronoun set as a whole (unless I misunderstood!)

1 Like

You can mess around with It with a bit of that old I6 magic.

Add lines like the following to your source –

To set pronoun her to (mcguffin - an object): (- (SetPronoun('her',{mcguffin})); -).

To set pronoun him to (mcguffin - an object): (- (SetPronoun('him',{mcguffin})); -).

To set pronoun it to (mcguffin - an object): (- (SetPronoun('it',{mcguffin})); -).

– and then you can manually set pronouns to particular things with code like:

set pronoun it to the umbrella

With great power comes great responsibility, yada yada.

-Wade

6 Likes

Yep, I was worried that Zed didn’t understand my question, but it turned out I didn’t understand his answer. :slight_smile:

Thanks, everybody.

2 Likes