I’m looking at example 408 (Fido), and I’d like to apply it to the player.
[code]Lab is a room.
The player has some indexed text called the nickname. The nickname of the player is “nothing”. Understand the nickname property as describing the player. [/code]
This works just fine for a non-player object, but for players, it produces:
Problem. You wrote ‘Understand the nickname property as describing the player’ : but I don’t understand what thing or kind that refers to, but it does need to be a thing or kind and not (say) a value. For instance, ‘understand the transparent property as describing a container.’
I can handle this by creating a separate object, setting up the nickname property, and changing the player to the separate object, but it seems a little kludgy. Does anyone have a cleaner approach?
I should add, here’s my currently-implemented workaround. Which is arguably even more kludgy than just changing the player, but doesn’t require me to stash “your former self” somewhere.
[code]The secret-name object is a privately-named thing. The secret-name object is part of the player. The secret-name object has some indexed text called the name. The name of the secret-name object is “nothing”. Understand the name property as describing the secret-name object.
Before doing something with the secret-name object:
if the noun is the secret-name object:
now the noun is the player;
else if the second noun is the secret-name object:
now the second noun is the player;
try the current action instead.[/code]