I have an object that I would like to dynamically change in complex ways, including the words that the player could use to refer to it. The following example shows roughly what I would like to do - it all works fine except the last line that attempts to change what Understand works for the object. In this simple case there are easy workarounds that are not dynamic (such as an “Understand … when”) but my real case is too complex for that method to easily work. Is there any way to do this?
A colour is a kind of value. The colours are red, blue, and green.
Table of colour morphs
colour name
red "red morph"
blue "blue morph"
green "green morph"
The player is in a room called the test room.
A morph is in the test room. The morph has a colour.
Every turn:
Let the new look be a random colour;
Now the colour of the morph is the new look;
Let the new name be the name corresponding to the colour of the new look in the Table of colour morphs;
Now the printed name of the morph is the new name;
Understand the new name as the morph;