inherit "std/pub"; #include "pub.h" #include "path.h" #define T_P this_player() object ghoul, vampire, assasin; object globe; object bard; object board; void clean_up(int i) { } void makeghoul() { if(!ghoul) { ghoul = clone_object(NPCS+"dghoul"); ghoul->set_long((string)ghoul->query_long()+ "Eric the ghoul also happens to be the bartender and cook in " "this fine establishment.\n"); ghoul->set_short("Eric"); ghoul->add_alias("eric"); ghoul->set_aggressive(0); ghoul->set_zone("pub"); ghoul->move(this_object()); ghoul->set_max_hp(ghoul->query_hp()+100); } } void reset() { makeghoul(); if(!vampire) { vampire = clone_object(NPCS+"dvampyre"); vampire->set_short("sylvania"); vampire->add_alias("sylvania"); // vampire->set_aggressive(0); // Is this really necessary? ~Dwim (just asking =)) vampire->set_zone("pub"); vampire->move(this_object()); } /* if(!bard) { bard = clone_object(NPCS+"bard"); bard->set_short("fred"); bard->add_alias("fred"); bard->set_aggressive(0); bard->set_zone("pub"); bard->move(this_object()); } if(!assasin) { assasin = clone_object(NPCS+"assasin"); assasin->move(this_object()); } */ } setup() { add_menu_item("Boneyard Beer", ALCOHOL, 10, 2, 10, 10, "slurp down your beer", "hurls down a pint of beer"); add_menu_item("Guiness", ALCOHOL, 50, 3, 50, 50, "drink a meal of thick black beer", "drinks a Guiness"); add_menu_item("Malt whisky", ALCOHOL, 150, 6, 100, 100, "feel a gentle burning down your throat", "drinks a shot of whisky" ); add_menu_item("Bloody Mary",ALCOHOL, 300, 20, 200, 200, "drinks the Bloody Mary in a delicate and refined manner, suddenly it " "stops in your throat, then gathers speed and shoots into your stomach", "drinks a Bloody Mary, stops momentarily to spit out a lumpy bit, then chugs the dregs"); add_menu_item("Chili nuts", FOOD, 50, 1, 20, 0, "eat some very strong chili nuts", "eats some red peanuts"); add_menu_item("Ribs", FOOD, 300, 5, 150, 0, "eat a thankfully unspecified rib","eats an unspecified rib"); add_menu_item("Devilled Kidneys",FOOD,2200,3,240,0, "munch some hot kidneys","munches through a platefull of kidneys"); add_menu_item("Meat Patties", FOOD, 200, 4, 100, 0, "eat some slightly undercooked meat patties","eats some slightly undercooked meat patties"); add_menu_item("sweetbreads", FOOD, 2000, 4, 100, 0, "choke down some sweetbreads. ","eats a platefull of brains"); add_menu_item("tripe", FOOD, 2000, 4, 100,0, "slurp down the tripe.","chomps through somethings guts"); add_menu_item("prairie oysters", FOOD, 1000,4, 100,0, "delicately nibble a prairie oyster or two","bolts a matched pair of prairie oysters"); add_menu_item("Haggis",FOOD,800,4,100,0, "wonder what to do with a haggis, and finally eat it.","puzzles over a Haggis, and in desparation finally eats it. "); add_menu_item("liver",FOOD,1750,4,100,0, "eat a liver","eats a liver with gusto"); add_menu_alias("rib","Ribs"); add_menu_alias("ribs","Ribs"); add_menu_alias("kidneys","Devilled Kidneys"); add_menu_alias("beer", "Boneyard Beer"); add_menu_alias("house beer", "Boneyard Beer"); add_menu_alias("house", "Beer"); add_menu_alias("stout", "Guiness"); add_menu_alias("black beer", "Stout"); add_menu_alias("whisky", "Malt whisky"); add_menu_alias("malt", "Malt whisky"); add_menu_alias("malt whisky", "Malt whisky"); add_menu_alias("mary", "Bloody Mary"); add_menu_alias("bloody mary", "Bloody Mary"); add_menu_alias("dwarven spirits", "Dwarven spirits"); add_menu_alias("axereaver", "Axereaver"); add_menu_alias("reaver", "Axereaver"); add_menu_alias("chili", "Chili nuts"); add_menu_alias("chili nuts", "Chili nuts"); add_menu_alias("toast", "Toast"); add_menu_alias("patties", "Meat Patties"); add_menu_alias("meat patties", "Meat Patties"); set_short("Isle of Belaern : Dead Man's Tavern"); set_long( "\n%^BOLD%^RED%^Isle of Belaern : Dead Man's Tavern%^RESET%^\n\n" "This scummy little hole in the wall serves as a meeting place for the " "dwellers of this place, and any adventurers stupid enough to make it " "this far. The decor is strictly early crypt, and you don't really " "want to know where the supplies come from or whats in them. " "However, despite the fashionably low light levels for the " "benefit of the more discerning clientele, this does seem a safe place " "to rest and relax. " "In fact this place is really hopping, and looking at the people here " "maybe rest isn't such a good word. " "There is a menu here, you may wish to read it. " "\n\n"); add_exit("south", HERE+"bsand14.c", "door"); set_light(40); set_zone("pub"); add_item(({"column", "stone", "stone column"}), "On it are inscribed the unique symbols of patrons who have died " "in a battle or disappeared while adventuring. Any toast given in " "the tavern must include a libation to: those who have fallen " "before us. When do we eat ?.\n"); add_item(({"people", "patrons"}), "Clients would be a better word, people barely describe them. " "Some of them are drinking alcohol though. " "\n"); add_item("bar", "The bar is made of wood and has lots of patrons hanging over it, " "trying to get the attention of Eric, the bar-keeper.\n"); add_item("weapons", "They're all mounted into the walls. Seems impossible to remove them " "There are four longswords, a whip and a double-edged huge battle-axe.\n"); add_item("armor", "The different pieces of armor are mounted securely to the wall. " "You couldn't remove them even if you wanted to. There are 16 " "pieces of armor all-in-all. Most probably every single piece will " "fit on some bodypart on some kind of creature. Not all are easy to " "figure out where might fit however.\n"); add_item("trophies", "Disappointedly the trophies seem to be just junk. Leave it!\n"); } int do_order(string str) { if(ghoul) { tell_room(this_object(),"Eric wanders into the back room to prepare an " "order.\nThere's a short, sharp scream.\nEric returns.\n", ({ }) ); if(str == "Devilled Kidneys") { if(T_P->query_tmp_wis() < 0) T_P->adjust_tmp_wis(1); this_player()->adjust_tmp_wis(-(int)this_player()->query_tmp_wis()); } if(str == "tripe") { if(T_P->query_tmp_con() < 0) T_P->adjust_tmp_con(1); } if(str == "sweetbreads") { if(T_P->query_tmp_int() < 0) T_P->adjust_tmp_int(1); } if(str == "prairie oysters") { if(T_P->query_tmp_dex() < 0) T_P->adjust_tmp_dex(1); } if(str == "liver") { if(T_P->query_tmp_str() < 0) T_P->adjust_tmp_str(1); } if(str == "Haggis") { if(T_P->query_tmp_cha() < 0) T_P->adjust_tmp_cha(1); } return 0; } else { tell_room(this_object(),"Eric the barkeep doesn't appear to be here.\n",({ }) ); return 1; } } void init() { ::init(); add_action("do_order","buy"); add_action("do_order","order"); } dest_me() { if(board) board->dest_me(); if (vampire) vampire->dest_me(); if (ghoul) ghoul->dest_me(); if (assasin) assasin->dest_me(); if(bard) bard->dest_me(); if (globe) globe->dest_me(); ::dest_me(); } void event_enter(object ob, string mess) { if(interactive(ob)) tell_room(environment(this_player()), ob->query_cap_name()+" arrives from somewhere.\n", ob); }