Inform 7: removing built-in synonyms

Another basic question! I have a thing in my game that is the ‘people’ type, but I don’t want the player to be able to refer to it as ‘people’. How do I remove a built-in synonym?

Errors1 is a room.

The aliens are people in errors1.

[Don't understand "people" as the aliens.]

test me with "x people"

You can strip all automatically-created grammar from a noun by making it privately-named.


alien is a privately-named person in lab.
Understand "alien" as alien.

The first line creates a person that you will refer to as ‘alien’ in your code, but when you declare it as privately-named, Inform does not automatically let the player type “alien” to refer to it in the game. It also means any other grammar that would be automatically created based on its kind (a person) is stripped, so now “people” doesn’t work either.

If we only entered that first line, there’d actually be no way for the player to refer to the alien. So once you’ve privately-named something, you have to rebuild for it the grammar you want. That’s what the second line does: Understand "alien" as alien.

You can add any other grammar you want at this point, too.

e.g. Understand "alien/xeno/ET", "little green man" as alien.



This is weirdly difficult to do! The upcoming version will have a use-option to turn off this behavior.


Perfect. Thank you!

1 Like