Check this out:
[code]Test Chamber is a room. A man called Michael is in the Test Chamber.
A red button is here. Instead of pushing the red button, say “Now you know [family-name][summary of family-name].”
A blue button is here. Instead of pushing the blue button, say “Now you know [keys-found][summary of keys-found].”
A green button is here. Instead of pushing the green button, say “Now you know [book-title][summary of book-title].”
test me with “push red button / facts / push blue button / facts / push green button / facts”.
[The following is adapted from Threaded Conversations, though I’m not sure if that’s relevant.]
Section - facts
A fact is a kind of object. Some facts are defined by the Table of All Known Facts.
Table of All Known Facts
family-name “Michael’s family name is Van Huber”
keys-found “the keys are under the couch”
book-title “the title of the library book is Where the Red Fern Grows”
Section - determining knowledge - not for release
Fact-checking is an action out of world. The specification of the fact-checking action is “A quick little utility for figuring out who knows what during runtime.”
Understand “facts” as fact-checking.
Carry out fact-checking:
say “You know [if at least one fact is known by the player][list of facts known by the player][otherwise]nothing[end if].[paragraph break]Michael knows [if at least one fact is known by Michael][list of facts known by Michael][otherwise]nothing[end if].”
Rule for printing the name of a fact (called knowledge) when the current action is fact-checking:
say “[summary of knowledge]”.
Section - learning facts
Fact-awareness relates various people to various facts. The verb to know implies the fact-awareness relation.
Before printing the name of a fact (called target) (this is the player learns facts rule):
now the player knows the target;
now Michael knows the target.
Rule for printing the name of a fact (this is the silence actual output of facts rule):
do nothing instead.
To say forget (target - a fact):
repeat with listener running through people who can see the person asked:
now the listener does not know the target.[/code]
Here’s the test transcript:
As soon as more than one fact is known by a person, the text sub [list of facts known by X] stops producing any output. Why is this happening?