/
LIB3/
LIB3/D/ADMIN/
LIB3/D/ADMIN/OBJ/
LIB3/D/ADMIN/ROOM/W/
LIB3/D/HOME/
LIB3/D/HOME/CITY/ARENA/
LIB3/D/HOME/CITY/ITEMS/
LIB3/D/HOME/CITY/POSTOFFI/
LIB3/DOC/
LIB3/GLOBAL/SPECIAL/
LIB3/GLOBAL/VIRTUAL/
LIB3/NET/
LIB3/NET/CONFIG/
LIB3/NET/DAEMON/CHARS/
LIB3/NET/GOPHER/
LIB3/NET/INHERIT/
LIB3/NET/OBJ/
LIB3/NET/SAVE/
LIB3/NET/VIRTUAL/
LIB3/OBJ/B_DAY/
LIB3/OBJ/HANDLERS/TERM_TYP/
LIB3/PLAYERS/B/
LIB3/PLAYERS/N/
LIB3/ROOM/
LIB3/SAVE/
LIB3/SAVE/BOARDS/
LIB3/SAVE/ENVIRON/
LIB3/SAVE/POST/
LIB3/STD/COMMANDS/SHADOWS/
LIB3/STD/CREATOR/
LIB3/STD/DOM/
LIB3/STD/EFFECTS/
LIB3/STD/EFFECTS/HEALING/
LIB3/STD/EFFECTS/OTHER/
LIB3/STD/EFFECTS/POISONS/
LIB3/STD/ENVIRON/
LIB3/STD/GUILDS/
LIB3/STD/LIQUIDS/
LIB3/STD/ROOM/
LIB3/STD/TRIGGER/SHADOW/
LIB3/W/
LIB3/W/BANNOR/
LIB3/W/NEWSTYLE/
#include "path.h"
inherit "/d/flaz/spaceport/observatory";
inherit "/std/room";

#define VIEWS ({ \
        "A grey looking planet swims before you eyes",\
		"You see a startling cluster of stars",\
		"A breathtaking nebulae fills the lens of the telescope",\
		"To begin with you see nothing, but as your vision adjusts, you find that you can make out a blackhole against the faint background of cosmic dust",\
		"A single blue-white star sits in the center of your vision",\
        "The lens shows an unremarkable cluster of small white starts",\
		"A single shooting star burns across your line of sight",\
		"You see nothing but a few distant stars",\
        "A pair of stars dance slowly across your line of sight",\
        "The moon fills the lens, giving you a spectacular view of its bleak surface",\
		"A gas-giant planet with luminant rings takes your breath away",\
        "You see nothing but black void through the telescope" \
            })

int index;

void setup()
{
set_short("The observatory");
set_long("You are in the telescope room of the "+CITYNAME+
	 " observatory. A giant telescope peers through a vast slit "
	 +"in the roof, while a number of complex looking books "
         +"and manuals lie strewn across several benches. "+
      "There is a shimmering portal before you.\n");
add_item("telescope",
	 "The telescope points upwards at the sky. Maybe you "
     +"could try to look through it, or if you fancy, try "
     +"to realign it.\n");
add_item( ({"book", "manual", "text"}),
	 "The books contain lists of incomprehensible numbers "
	 +"and formulae.\n");
add_item( ({"table", "bench"}),
	  "The benches are strewn with assorted bits of "
	  +"techincal-looking junk, and a number of books "
	  +"and manuals.\n");
add_item( ({"junk", "bits", "pieces", "technical-looking junk"}),
	 "One strangely shaped piece of metal is labelled '"
	 +"springle-worper, size 47.21' while another bundle "
	 +"of wires claims to be a 'tri-froopled kludgett'.\n");
add_item( ({ "springle-worper", "tri-froopled kludgett",
             "worper", "kludget" }),
     "You can hardly pronounce it, let alone judge what "
    +"it could be used for...\n");
add_item("portal", "This portal will help you talk to all the "+
    "other observatories in New Moon.\nType \"list\" for a list "+
    "of all the observatories names and \"talk to "+
    "<observatory name>\" to talk.\n");
set_zone("observatory");
add_exit("north", "observe_path", "gate");
set_light(50);
index = random(sizeof(VIEWS));
}

void init()
{
   ::init();
   add_action("lt_scope", "l*ook", 1);
   add_action("do_realign", "realign");
    add_action("do_talk","talk");
    add_action("do_list","list");
}

int lt_scope(string str)
{
if(str != "through telescope" && str != "through scope")
       return 0;
    say(this_player()->query_cap_name()+
        " looks through the telescope.\n");
    write(VIEWS[index]+"\n");
    return 1;
}

int do_realign(string str)
{
    if(str != "telescope" && str != "scope" && str != "the telescope")
    {
       notify_fail("Align what?\n");
       return 0;
    }
    write("You fiddle about with the telescope controls for a bit.\n");
    say(this_player()->query_cap_name() +
       " fiddles about with the telescope controls.\n");
    index = random(sizeof(VIEWS));
    return 1;
}