/** * Drinks Cart * For all those thirsty creators * * Created by Mahray, 11/04/01 * Updated 26/03/02 (rather late) so it works again * Fixed up and moved to /std/objects.c - Sandoz, Sept. 2002. */ inherit NPC_OBJ; void setup() { set_name("cart"); set_short("drinks cart"); add_adjective("drinks"); set_long("This seems to be an animated drinks cart. Perhaps if you " "talk to it, you might be able to obtain a drink.\n"); basic_setup("human", 25, "neuter"); load_chat( 10, ({ 1, "'Oh go on... Order a drink!", 1, "'Some milk perhaps? Or tea?", 1, "'You must be thirsty from all this coding, come on, " "let me serve you something!", 1, ":spills some milk on $lpossshort$ lap.", })); add_respond_to_with( ({ ({"drink", "drinks"}) }), ({ "'Would you like a drink?", "'Tea, coffee, coke, and milk are available.", "'Just name one." }) ); add_respond_to_with( ({"tea"}), "#do_tea"); add_respond_to_with( ({"coffee"}), "#do_coffee"); add_respond_to_with( ({"coke"}), "#do_coke"); add_respond_to_with( ({"milk"}), "#do_milk"); add_respond_to_with( ({"@pat"}), "purr $hcname$"); } /* setup() */ object make_cup( int vol ) { object cup; cup = clone_object(VESSEL_OBJ); cup->set_name("cup"); cup->set_max_volume(vol); return cup; } /* make_cup() */ void do_tea( object person ) { object cup, drink; cup = make_cup( 750 ); cup->set_short("tea cup"); cup->add_adjective("tea"); cup->set_long("This is a well made porcelin tea cup, complete with a " "saucer.\n"); drink = clone_object(LIQUID_OBJ); drink->set_name("tea"); drink->set_short("tea"); drink->medium_alias("Tea"); drink->set_long("This is the calming drink known to everyone, tea.\n"); drink->add_eat_effect("/std/effects/ingested/calm", 60 ); drink->set_amount( 750 ); drink->move(cup); if( cup->move(person) ) { do_command("'Bugger, you are too burdened to accept a cup of tea."); cup->dest_me(); } else { do_command("'There you are, "+person->query_gender_title()+", a cup " "of tea."); } } /* do_tea() */ void do_coffee( object person ) { object cup, drink; cup = make_cup( 750 ); cup->set_short("coffee cup"); cup->add_adjective("coffee"); cup->set_long("This is a well made porcelin coffee cup, complete with a " "saucer.\n"); drink = clone_object(LIQUID_OBJ); drink->set_name("coffee"); drink->set_short("coffee"); drink->medium_alias("CoffeE"); drink->set_long("This is your average cup of coffee. Hot and strong.\n"); drink->add_eat_effect("/std/effects/ingested/sugar", 60 ); drink->set_amount( 750 ); drink->move(cup); if( cup->move(person) ) { do_command("'Bugger, you are too burdened to accept a cup of " "coffee."); cup->dest_me(); } else { do_command("'There you are, "+person->query_gender_title()+", a cup " "of coffee."); } } /* do_coffee() */ void do_coke( object person ) { object cup, drink; cup = make_cup( 950 ); cup->set_short("coke cup"); cup->add_adjective("coke"); cup->set_long("This cup is tall and made of glass.\n"); drink = clone_object(LIQUID_OBJ); drink->set_name("coke"); drink->set_short("coke"); drink->medium_alias("cOkE"); drink->set_long("Black, fizzy, and full of sugar and caffeine, coke " "is a popular drink.\n"); drink->add_eat_effect("/std/effects/ingested/caffeine", 60 ); drink->set_amount( 950 ); drink->move(cup); if( cup->move(person) ) { do_command("'Bugger, you are too burdened to accept a cup of " "coke."); cup->dest_me(); } else { do_command("'There you are, "+person->query_gender_title()+", a cup " "of coke."); } } /* do_coke() */ void do_milk( object person ) { object cup, drink; cup = make_cup( 960 ); cup->set_short("milk cup"); cup->add_adjective("milk"); cup->set_long("This is a tall and cold glass.\n"); drink = clone_object(LIQUID_OBJ); drink->set_name("milk"); drink->set_short("milk"); drink->medium_alias("MiLk"); drink->set_long("This is plain old milk. Smooth and white.\n"); drink->set_amount( 960 ); drink->move(cup); if( cup->move(person) ) { do_command("'Bugger, you are too burdened to accept a cup of " "milk."); cup->dest_me(); } else { do_command("'There you are, "+person->query_gender_title()+", a cup " "of milk."); } } /* do_milk() */ /** @ignore yes */ int attack_by( object thing ) { tell_object( thing, "Awww, come on. Leave the poor cart alone.\n"); thing->stop_fight(TO); return 0; } /* attack_by() */ /** @ignore yes */ varargs void run_away( int dummy ) { return; } /** @ignore yes */ void adjust_hp( int num, object who, object wep, string att ) { return; }