I have some statues, and each statue has an inscription at the bottom. I am trying to have the player examine the inscription specifically, and not get the inscription as part of the statue description.
A statue is a kind of thing. A statue has a text called inscription.
Understand "statue" as angel.
Description of a statue is "The statue is beautifully carved of marble but has aged consderably. A female with a serene expression and outstretched hands welcomes you to the chapel. A line of writing is etched across the bottom pedestal.[run paragraph on]".
The south angel is a statue in the Entranceway.
The inscription is " 'For fools rush in...' ".
Understand "south statue" as south angel.
The north angel is a statue in the Entranceway.
Understand "north statue" as north angel.
The Inscription is " '...where angels fear to tread.' -- A. Pope".
After examining statue:
say "It says, [inscription of noun]"
This will print the inscription as part of the statue description. Inscription as a printable part of something seems not to exist. How can I examine a part of something?
(I do like how one description is applied to all statues, which is what I want.)
I have added a new command READ, taken from the documentation. It works better, but the player now must enter “Read north statue” which is not what I want. I want the player to be able to enter “Read inscription”, or better yet, “Read writing”. I get an error when I say
Understand “writing” as inscription. Not sure why. Here is the new code.
Understand the command "read" as something new.
Understand "read [something]" as reading.
Reading is an action applying to one thing, requiring light.
if the inscription of the noun is "blank", say "Nothing is written on [the noun]." instead.
Carry out reading: say "It says: [inscription of the noun]".
Report reading: do nothing.
I’m not sure I understand what your goal is here. If you don’t want it to be printed as part of examining the statue, you’ll want to remove your “after examining a statue” rule.
If you want the inscription to have to be examined separately:
A statue has some text called the inscription-text.
An inscription is a kind of thing. An inscription is part of every statue.
Instead of examining an inscription which is part of a statue (called the parent):
say the inscription-text of the parent.
Basically, it has to be a “thing” if you want players to be able to examine it.
I want the player to examine a statue separately from the inscription. Examine writing, or examine inscription. Currently, the inscription is given with examine north statue.
I think I tried your suggestion but I’ll try again.
That worked. I think the only difference is that I hadn’t said
“Inscription is a kind of thing.” It was already a part of something else, so I thought it “was” a thing.
Just to spin out why Daniel’s code works and yours wasn’t, the difference is that in your initial code, “inscription” was a property of statues, rather than a thing itself, and by default the player can’t directly interact with properties. For a clearer example, say you’re making a game involving a car chase. You’d probably have some code like this:
A car is a kind of thing. A car has a number called the speed. The race-car is a car. The speed is 6. The sedan is a car. The speed is 3.
If the player typed X SPEED, the parser will understandably say that you can’t see any such thing!
In Daniel’s code, inscriptions aren’t properties, they’re things that are part of statues, and of course Inform is built around letting the player type stuff to directly interact with things!
EDIT: statues, not statutes! Ever since law school I make that typo without fail…
Thanks for this. You elaboration does make the explanation clearer. I hope this understanding helps prevent me from making that mistake again…whether for statues or statutes.