/* The FR basic workroom.
* time to phase out the DW one, a lot of new roomcode is added since then.
* It is not perfectly described, hey it's made by Baldrick..:=)
*/
#define CREATOR "god"
inherit "/std/room";
object button;
void setup()
{
/* the short description is what you get in a room in brief mode.
*/
set_short(CREATOR+"'s workroom");
/* you set this so you can see in the room.
* for a description of light levels and what they mean type
* help light
*/
set_light(55);
/* the long description is the description you get when you type look
* and when you work into a room in verbose mode.
*/
set_long(" The workroom of "+CREATOR+". It is a little, dusty cubicle room "+
"with some not exactly shining furniture. It has the usual stuff for"+
" a workroom; The desk is big and there is nothing but dust on it, " +
"it has an ugly looking chair besides it and a lamp is hanging from "+
"the roof. It definately nees some cleaning.\n");
/* If we inherited /std/outside, we would be able to use this one.
set_dark_long(" The workroom of " + CREATOR + ". You can barely see some "+
"furnitures and a lamp in the dark.\n");
*/
/* Right this is the Senses code as coded and described by me - Sojan */
add_smell("room", "It smells old.");
add_feel(({"chair", "seat",}), "It feels smooth although you get dust all over your fingers.");
add_taste("air", "The air tastes Musty and old.");
add_sound("bells", "You can hear a faint tinkling of bells.");
/* Explanation of above.
When you use add_item to add items that players can look at you
can also use a similar syntax as described above to add extra
senses to the objects to add greater dimension to the rooms
you create. The syntax follows the same general pattern
as add_item but has less options.
Try to add sensible extra senses, in other words someone tasting
a chair is dodgy but feeling or smelling it isn't so bad ..
obviously sound is the most restricted ..
the senses are interacted with via smell <object> taste <object>
feel <object> and listen <sound> - touch <object> is also defined ...
you cannot currently add_senses to objects - only in rooms can you do it ..
Sojan - 9/12/1994
*/
/* the items are the things in the room that you can look at. */
/* try and put lots of these in the rooms you make, it makes them much
* more interesting.
*/
add_item("chair", "The chair is made of dark wood, because of all the "+
"dust you can't find out what kinda wood it is. It's "+
"ugly but looks remarkably comfortable.\n");
add_item("desk", "The desk is made of the same dark wood as the chair and "+
"does also look comfortable. It's big and the exact height"+
"for you.\n");
add_item("lamp", "The lamp is kinda shining, a cleaning could make the lamp "+
"work more as intended.\n");
/* adds all the exits to the room.
* the first paramater is the verb used to get through the exit.
* the second is where to go once that exit is opened.
* and the third is the type of the exit. For a better desription of
* this read the docs on rooms.
*/
add_exit("common", "/w/common", "door");
add_exit("tavern", "/d/ss/daggerford/ladyluck", "door");
/* these two add_alias alias the exits. Now when you type north (or n)
* you will go to the mended drum and south to the common room
*/
add_alias("north", "tavern");
add_alias("south", "common");
/* this adds and exit back to your workroom into the common room
*/
"/w/common"->add_exit(CREATOR, "/w/"+CREATOR+"/workroom", "door");
} /* setup */
void init()
{
/* this gives you the possibility to add special actions to the object.
* very useful.
*/
add_action("do_clean", "clean");
::init();
} /* init() */
void reset()
{
/* if the button does not exist (it has been dested or it hasnt been
* created yet the varible is set to 0) This makes sure you dont get
* more than one button in your room.
*/
if (!button) {
button = clone_object("/obj/misc/button");
button->move(this_object());
}
} /* reset */
void dest_me()
{
/* the dest_me function is called when an object is destructed. We trap
* this so that when the room is updated you dont end up with lots of
* buttons, which does look pretty silly.
*/
if (button)
button->dest_me();
/* for a description of what the :: does go and shoot someone.
* I dont think I can explain it in less than ten pages, and you would
* not understand it anyway.
*/
::dest_me();
} /* dest_me */
/* The cleaning the add_action added */
int do_clean()
{
write("You start to clean the desk and under the dust you find a piece of "+
"paper.\n");
new("/obj/misc/newcreator_paper")->move(this_player());
return 1;
} /* do clean */
void event_enter(object guest, string mess, object from)
{
tell_room(this_object(), guest->query_cap_name() +
" enters " + CREATOR + " workroom.\n", guest);
tell_object(guest, "You enter the workgroom of " + CREATOR + ".\n");
return;
} /* event_enter */