! Inform source code that allows the player to teleport to a room by
! typing in the room's name as a command.
!
! If the player's command applies to more than one room, the parser
! asks a question to differentiate between the two, just as it would
! for any other command.
!
! Compile and run the game to see how it works.
!
! by Jim Fisher and Michael Huang
! 2001-12-20
Constant Story "Teleport";
Constant Headline "^Example program^";
Include "Parser";
Include "VerbLib";
Attribute teleport;
Object mainward "main ward"
with name 'main' 'ward',
description "Welcome to the main ward.",
has teleport light;
Object leftupperward "left upper ward"
with name 'left' 'upper' 'ward',
description "The left upper ward is busy.",
has teleport light;
Object leftlowerward "left lower ward"
with name 'left' 'lower' 'ward',
description "The left lower ward is empty.",
has teleport light;
[ Initialise;
location = mainward;
"^^^Welcome to Teleport General Hospital! Try these commands:
^^examine ward
^ward
^examine left upper
^left upper^";
];
[ UnknownVerb word place;
objectloop (place has teleport)
{
if (WordInProperty(word,place,name))
{
verb_wordnum=0;
return 'teleport.room';
}
}
rfalse;
];
[ TeleportScope i;
switch (scope_stage)
{
1: rfalse;
2: objectloop (i has teleport)
PlaceInScope(i);
rtrue;
3: "You can't see any such thing.";
}
];