#include <comms.h> #define CHAR "/net/daemon/chars/" inherit "/obj/monster"; object my_player, notebook; string thingy; void setup() { set_name("blue demon"); set_long("A blue small demon with a large green note book. He is a demon "+ "with a purpose. He scrutinises everyone who passes by looking "+ "for that special person. He is on a mission from a frog.\n"); add_alias("blue"); add_adjective(({ "small", "blue" })); set_level(-2); set_short("blue demon"); notebook = clone_object("/std/object"); notebook->set_name("notebook"); notebook->add_alias("book"); notebook->add_plural("books"); notebook->add_adjective(({ "large", "note", "green" })); notebook->set_long("A large note book, it looks almost brand new.\n"); notebook->set_short("large note book"); notebook->move(this_object()); add_property("demon", 1); add_property("emote", 1); } /* setup() */ /* Who says you can kill my nice demon? */ void adjust_hp(int hp, object at) { } /* adjust_hp() */ void got_player(int bing) { if (!my_player) { /* Oh no! Woe is me! */ command("cry"); command("'There goes my chance for a gold frog."); init_command("sigh"); call_out("go_away", 2); return ; } if (!bing) { /* Froodle buns */ move_player("X", environment(my_player)); } call_out("init_command", 1, "follow "+my_player->query_name()); call_out("init_command", 1, "'Ahhhh ha! I have found you."); init_command("eye "+my_player->query_name()); call_out("init_command", 2, "mutter"); call_out("init_command", 3, "emote scribbles something in his notebook."); call_out("init_command", 4, "peer care at "+my_player->query_name()); call_out("init_command", 5, "mutter purple aardvarks"); call_out("init_command", 6, "smile bri"); call_out("init_command", 7, "'Right, got all the info."); call_out("init_command", 8, "wave mad"); call_out("init_command", 9, "unfollow "+my_player->query_name()); call_out("go_home", 11); } /* got_player() */ void setup_finger(string who) { move_player("X", COMM_ROOM); tell_room(environment(), short(0)+" scribbles something hurridly down in its notebook.\n"); my_player = find_player(who); /* Ok, now we try and find our pooooor little player. pat pat */ add_property("goto player", my_player->query_name()); add_triggered_action("player", "goto_player", this_object(), "got_player"); } /* setup_tell() */ /* Now try and get back to the communication room */ void go_home() { add_property("goto co-ordinates", COMM_ROOM->query_co_ord()); add_property("goto property", "communication room"); add_triggered_action("player", "goto_co_ord", this_object(), "got_home"); } /* go_home() */ void got_home(int bing) { if (!bing) move_player("X", COMM_ROOM); command("'Home sweet home!"); call_out("go_away", 3); } /* got_home() */ string garble_text(mixed bing, object ob) { call_out("do_dest", 10, ob); return "Warning, this note will self destruct in ten seconds.\n"; } /* warning() */ string magic_text(mixed bing, object ob) { call_out("do_dest", 10, ob); return "Warning, this note will self destruct in ten seconds.\n"; } /* warning() */ void do_dest(object ob) { object ob2; ob2 = environment(ob); if (living(ob2)) { tell_room(environment(ob2), ob2->query_cap_name()+"'s "+ ob->short()+" spontaneously combusts.\n", ({ ob2 })); tell_object(ob2, "Your "+ob->short()+" spontaneously combusts.\n"); } else { tell_room(ob2, ob->short()+" spontaneously combusts.\n"); } ob->dest_me(); } /* do_dest() */ void go_away() { command("wave"); tell_room(environment(), short(0)+" becomes slowly more transperent "+ "and then vanishes utterly.\n"); dest_me(); } /* go_away() */