/* Text alterations and additions by Grimbrand 2-2-96 */ #include "path.h" inherit "/std/underground"; object *npcs; /* void reset() { int i; for(i=0;i<sizeof(npcs);i++) { if(!npcs[i]) { npcs[i]=clone_object(DNPC+"dmaster02.c"); npcs[i]->move(this_object()); } } } */ void setup() { add_property("no_undead",1); set_light(10); npcs = allocate(1); set_short("Realm of the Duergar: Office of Surface Exploration"); set_long("\n Realm of the Duergar: Office of Surface Exploration.\n\n" " You have entered the office of the Master of Surface " "Exploration. It is here where you will learn of the various " "creatures that roam the surface of the realms. The Master, " "has obviously traveled there many times, you judge, by the " "numerous items that could only have come from the sun " "races of the surface. The desk at one side of the room is " "made completely out of a dark colored wood that you have " "never seen before. On the desk there are a few baubles as " "well. Along the walls are several liberated heads of some " "of the evil creatures the Master had met on his " "explorations and covering the floor are the skins of many " "wild surface beasts.\n"); add_item("desk", " The desk is made out of a very rich and dark colored " "wood. It is said that such wood only comes from the elvin " "forests of above, and they dont part willingly with their " "beloved trees.\n\n"); add_item("baubles", " On the desk you see a piece of carved crystal that " "is being used as a paper weight.\n\n"); add_item("heads", " Along the wall are several stuffed heads that the " "Master has taken. One looks like the head of a giant snake, " "while the other is the furry head of a great bear.\n\n"); add_item("floor", " The floor is completely covered with animal skins. " "some are extremely soft, while others have colorful patterns " "on them.\n\n"); add_exit("northwest",NEWBIE+"dlev3_01","door"); add_exit("southeast",NEWBIE+"main03","door"); modify_exit("northwest",({"function","bouncer"})); add_clone(DNPC+"dmaster02.c",1); } /* void dest_me() { int i; for(i=0;i<sizeof(npcs);i++) if(npcs[i]) npcs[i]->dest_me(); ::dest_me(); } */ int bouncer() { int lv,xp; object me = this_player(); lv = (int)me->query_level(); xp = (int)me->query_xp(); if(lv == 2 && xp < 5500) { write(" The door swings wide at your approach allowing you to pass " "unhindered.\n\n"); tell_room(environment(me), me->query_cap_name()+" walks through the " "northwestern door as it swings wide and then, swiftly, " "it closes behind "+me->query_objective()+".\n\n", ({this_player()})); return 1; } notify_fail("It takes you a minute to quit shaking, from having " "walked into the closed door.\n"); tell_room(environment(me), me->query_cap_name()+" shakes like a " "tuning fork after having walked into the closed door.\n", ({this_player()})); return 0; }