// 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 */