// Basic room school by Avelan
// April 2001
// room #2
/*
* NOTE: If you want to see this same file without
* the comments in the code, take the exit 'example'.
* I'd suggest you do that anyway after you have read
* this file through.
*/
/*
* The next line will include the file called 'defs.h'
* which is in the same directory as this file.
* That file contains definitions for filepaths, so i
* don't have to write absolute paths anywhere here.
* There will be more info about this later in the file.
*/
#include "defs.h";
/*
* The next line inherits the file /std/room/basic_room.
* So, ROOM_OBJ == /std/room/basic_room, why, you ask?
* Help global defines gives you a list of things that
* are defined everywhere automatically.  And the real
* advantage of inheriting ROOM_OBJ instead of the 
* absolute path/filename, is that if that file called
* basic_room is decided to be transferred to some other
* directory, all you have to do is make a simple alteration
* in the global defines and all the rooms that inherited
* ROOM_OBJ would work, but the ones that inherited it using
* the absolute path would not because they would point
* to a file that isn't there.
*/
inherit ROOM_OBJ;
/*
* Ok, now to the coding part.  The next function actually
* overrides the one in basic_room using the arguments you
* put in there.  So, setup() determines all the basic stuff
* a room needs to have in order for it to be a proper room.
* This might sound a bit hard but it really isn't. :)
*/
void setup(){
    // The next line determines the light level of the room.
    set_light(100);
    /* Next one will be the short description for the room, 
    * ie. the thing you see when you glance at a room or walk in
    * it in brief mode.
    * The short desc should be two-three words long, it's not meant
    * to describe the room.
    */
    set_short("basic room school");
    /* The next sets the determinate the room has.
    * Notice the space after it.
    * This is used in messages like:
    * 'Avelan gets a womble from the basic room school.'
    */
    set_determinate("the ");
    /* Ok, then the actual room description. The long description
    * should normally have atleast 4-5 lines or the room would seem
    * quite empty.  There are many things which determine a good
    * room desc, for example, descs should never contain words like
    * you or yours, let the player decide what they make of the things
    * they see.  But this is something you will learn through experience,
    * so i won't babble about for longer.
    * Notice at the end there is '\n' , that let's the players
    * client take care of the newline needed at the end.
    */
    set_long("This is a room which describes how a very"
      " basic room is built.  The room is quite small and"
      " rather empty since there is only a table and a small"
      " chair standing in the middle of the room.  There is"
      " some writing on the table probably made by a bored"
      " apprentice creator trying to learn things.\n");
    /* Ok, next the add_items for the room.
    * Any room should have an add_item for every
    * thing the player could try to take a look at.
    * Every noun in the long_desc _should_ have an add_item.
    * Do help add_item to learn more about the function.
    */
    add_item("room","The room looks quite empty.");
    /* The next add_item matches to more than one
    * word, that's why the words are inside brackets.
    */
    add_item(({"creator","apprentice","apprentice creator"}),
      "They are the ones that are learning new stuff, this room"
      " is built for them.");
    add_item("thing","There are many things to learn here.");
    /* Ok, the next ones for the table and the chair are a bit
    * more complicated.  They make it possible for the players
    * to sit or stand on the items too.
    * Again, do help add_item to get more help on it.
    */
    add_item("chair",({ "long","The chair is old and worn"
        " out, it's been under heavy use.","position","the chair"}));
    add_item("table",({ "long","The table is an ordinary, round,"
        " wooden table, it has some writing on it.",
        "position","the table"}));
    /* The next one gives a new option to add_item, read.
    * The player will see the text when they do 'read writings'.
    */
    add_item("writing",({ "long","There is some writing on the"
        " table, You could read it if you want to.",
        "read","I'm so booooreeed!\n" }));
    /* Okies, then the last thing a VERY basic room needs,
    * the exits.
    * Notice the ROOMSC in the middle there.  This is just
    * the thing that i talked about in the beginning.  The word
    * ROOMSC is defined in defs.h to point to
* '/d/learning/school/room_school/room_basic/'.
    * So i only wrote ROOMSC "filename" there, now if i decide to
    * move the file it points to in a different directory, i only need
    * to edit defs.h and make ROOMSC point to the right directory.
    * Very handy wouldn't you say? :)
    */
    add_exit("backward",ROOMSC "room_school01","path");
    add_exit("forward",ROOMSC "room_school03","path");
    add_exit("example",ROOMSC "example01","path");
} /* setup */