This builds on the Variety example to add responses such as "You are now carrying the fedora" that describe relations that result from a given verb, as alternate responses.

Some of our default actions establish relations between items in the world, and reporting on the relation ("You are now carrying the fedora") can be a valid response alongside reporting on the action itself ("You take the fedora").

To do this, we need to teach Inform explicitly which relations are the results of actions, then check this when reporting on actions:

"Variety 2"
Section 1 - Descriptive Functionality
Describing relates various verbs to various action names. The verb to describe means the describing relation.
Table of Action Results
related actionrelation
the taking actionthe carrying relation
the wearing actionthe wearing relation
the taking off actionthe carrying relation
To take is a verb. To acquire is a verb. To get is a verb.
The verb take describes the taking action. The verb acquire describes the taking action. The verb get describes the taking action.
To drop is a verb. To put down is a verb. To discard is a verb. The verb drop describes the dropping action. The verb put down describes the dropping action. The verb discard describes the dropping action.
To sniff is a verb. To smell is a verb. The verb sniff describes the smelling action. The verb smell describes the smelling action.
To jump is a verb. To leap is a verb. To pirouette is a verb. The verb jump describes the jumping action. The verb leap describes the jumping action. The verb pirouette describes the jumping action.
To don is a verb. The verb don describes the wearing action.
To doff is a verb. The verb doff describes the taking off action.
After an actor doing something when the noun is nothing and a verb describes (the action name part of the current action) (this is the apply random verbs to describing nounless actions rule):
   say "[The actor] [verb rendering applied to a random verb that describes (the action name part of the current action)].";
   rule succeeds.
After an actor doing something to something when a verb describes (the action name part of the current action) (this is the apply random verbs to describing actions rule):
   let current action name be the action name part of the current action;
   if a random chance of 1 in 2 succeeds and the current action name is a related action listed in the Table of Action Results:
      choose a row with the related action of current action name in the Table of Action Results;
      let R be the relation entry;
      let subject be the actor;
      let chosen object be the noun;
      say "[The subject] [are] now [present participle of a random verb that means R] [the chosen object].";
   else:
      say "[The actor] [verb rendering applied to a random verb that describes (the action name part of the current action)] [the noun].";
   rule succeeds.
To decide which text is the rendering of (V - verb) (this is verb rendering):
   decide on "[adapt V]".
To say infinitive of (V - a verb): (- {V}(1); -).
To say past participle of (V - a verb): (- {V}(2); -).
To say present participle of (V - a verb): (- {V}(3); -).
Section 2 - Scenario
Lab is a room. The fedora is a wearable thing in the Lab.
Test me with "wear the fedora / take off the fedora / wear fedora / take off fedora".
Test me with "wear the fedora / take off the fedora / wear fedora / take off fedora".
Lab
You can see a fedora here.

>(Testing.)

>[1] wear the fedora
(first taking the fedora)
You are now carrying the fedora.

You are now wearing the fedora.

>[2] take off the fedora
You doff the fedora.

>[3] wear fedora
You don the fedora.

>[4] take off fedora
You doff the fedora.