/* Coded by Talonia, Nov., '95*/ /* Modified to expound on multiplaying by Arby, June 16, 1998 */ #include "path.h" #include <library.h> inherit NPC_OBJ; void setup() { set_name("womble"); set_short("womble"); set_long("This is a small, furry womble. She is about four feet " "tall and looks very cuddly. She also looks very sad and " "is sobbing loudly.\n"); set_gender(2); add_plural("wombles"); set_race("human"); set_level(100); add_move_zone("newbie"); set_move_after(30, 30); set_respond_to_with(({ ({"@comfort", "womble"}), "'Thank you, will you find my brooch for me?", ({({"@kick", "@punch"}), "womble"}), "cry"})); add_respond_to_with(({ ({ "hello", "hi", "gday", }), ({ "womble", "all" }) }), ({ "'Hello $hcname$", "bow ? $hname$" })); add_respond_to_with( ({ "good", "day", ({ "womble", "all" }) }), ({ "'Hello $hcname$", "bow ? $hname$" })); add_respond_to_with( ({ "fuck", ({ "off", "you" }) }), ({ "'Same to you!", "skick $hname$" })); add_respond_to_with(({ "fuck" }), "waggle $hname$"); add_respond_to_with( ({ "@smile", "womble" }), "smile $hname$"); add_respond_to_with( ({ ({ "@skick", "@spunch", "@jump", "@pat", "@slap" }), "womble" }), "glare $hname$"); add_respond_to_with( ({ ({ "@poke", "@glare", "@point" }), "womble" }), "peer sus at $hname$"); add_respond_to_with( ({ "@grin", "womble" }), "grin $hname$"); add_respond_to_with( ({ ({ "@caress", "@snuggle", "@nestle", "@love", "@throw" }), "womble" }), "waggle $hname$"); add_respond_to_with( ({ ({ "@kiss", "@french", }), "womble" }), "slap $hname$"); add_respond_to_with(({ ({ "@bing", "@womble", }), "womble" }), "smile bri $hname$"); load_chat(50, ({ 1, ":sobs loudly.", 1, "'Boo Hoo! I've lost my brooch!", 1, "@weep", 1, "'I really loved that brooch.", 1, "@cry", 1, "'Oh I wish someone would find it for me.", 2, "'Please find my brooch for me.", 2, "'I lost my brooch in one of the rooms while I was reading all "+ "the wonderful information here."}) ); } /* setup() */ int event_enter(object obj, string mess, object from) { if((obj->query_property("wombles brooch")) && (obj->query_name() == "brooch") && (environment(obj) == this_object())) { call_out("brooch", 1, ({ this_player() }) ); return 1; } } /* event_enter() */ void brooch(mixed arg) { object item, tp; tp = arg[0]; if(LIBRARY->query_quest_done(tp->query_name(), "womble's brooch")) { do_command("'Thank you for returning my brooch, but you've done " "this quest already."); } else { LIBRARY->set_quest((string)tp->query_name(), "womble's brooch"); do_command("'Wow! My brooch!"); do_command("'Thank you very much!"); } do_command("'You may now enter the game by typing \"out\" in the foyer."); do_command("'Good Luck!"); do_command("huggle "+(string)tp->query_short()); do_command("emote sets the brooch down, and quickly forgets where she left it."); foreach(item in all_inventory()) { item->dest_me(); } } /* brooch() */ int attack_by(object thing) { write("The womble smacks you round the head with her paw sending you " "flying across the room.\n"); write("You bash your head against the wall and the world starts " "spinning.\n"); do_command("'Hey, that's not nice!\n"); thing->add_effect("/std/effects/ingested/tranquil_sleep", 120); this_object()->stop_fight(thing); thing->stop_fight(this_object()); return 0; } /* attack_by() */ int attack_ob(object thing) { this_object()->stop_fight(thing); thing->stop_fight(this_object()); return 0; } /* attack_ob() */