! Info.h - A Library Extention For Consultation And Conversation
! By Jesse Burneko
!
! Purpose:
! The idea for this library extention has been brewing around my mind
! for quite some time. The idea is to allow Consult, Ask, Tell, and
! Answer to access a database of topic objects rathen than having to
! parse the information themselves. As a mock up version of this
! library file I had taken Gareth Rees' Frobozzica.inf example, edited
! it to handle Tell and Answer as well as Ask, and then transformed it
! into an include file. As inform has developed I began to suspect
! that there was a much simpler way of doing things. This library file
! is the fruit of my labor.
!
! Usage:
! 1) Create a Topics object to be the parent object of all topics.
! 2) Create a series of topic objects. The only requirements being that
! they are a child of the Topics object, inherit from the
! Topic class, provide the name and/or parse_name property for
! identification in the usual way.
! 3) In the usual manner trap the Consult, Ask, Tell, and/or Answer
! action in the before or life routine of the target object. The topic
! being refered to will be held in the second variable.
!
! Example:
!
! Object Topics;
!
! Topic -> Virginia_Woolf
! with name "virgina" "woolf",
!
! Topic -> Orlando
! with name "orlando" "novel" "book",
!
! Object Encyclopedia "Encyclopedia Of English Literature",
! with name "encyclopedia" "of" "english" "literature" "book",
! before
! [;
! Consult:
! switch(second)
! {
! Virginia_Woolf:
! "~Woolf, Virginia (1182-1941), English novelist and
! essayist. The daughter of Sir Leslie Stephen, she
! married the critic Leonard Sidney Woolf (1880-1969) and
! they established the Hogarth Press (1917). Novels using
! stream of consciousness, such as Mrs. Dalloway (1925), To
! the Lighthouse (1927) and The Waves (1931), concern her
! characters' thoughs and feelings about common
! experiences. Some of her brilliant criticism was
! published in The Common Reader (1925). Subject to fits
! of mental instability, she finally drowned herself.~";
! Orlando:
! "~A novel written in 1928 by Virgina Woolf outlining the
! unual life of Orlando, an individual who lives for 400
! years and is at one time male and another time female.
! She also: Woolf, Virgina.~";
! }
! ];
!
! Note: Topics created need not initially be a child of the Topics
! object. This allows for topics to begin out of scope and then as
! the player gains more information topics can be moved in and out of
! the Topics object at will.
[ TopicScope;
switch(scope_stage)
{
1: rfalse;
2: ScopeWithin(Topics);
rtrue;
3: "Error: Parsing should have matched previous grammar line.";
}
];