#include "std.h" object beggar; #undef EXTRA_RESET #define EXTRA_RESET extra_reset(); extra_reset() { if (!present("knife")) { string weapon; weapon = clone_object("obj/weapon"); call_other(weapon, "set_name", "small knife"); call_other(weapon, "set_alias", "knife"); call_other(weapon, "set_class", 5); call_other(weapon, "set_value", 8); call_other(weapon, "set_weight", 1); move_object(weapon, this_object()); } if (!beggar || !living(beggar)) { beggar = clone_object("obj/monster.talk"); call_other(beggar, "set_name", "beggar"); call_other(beggar, "set_level", 3); call_other(beggar, "set_al", 200); call_other(beggar, "set_race", "human"); call_other(beggar, "set_long", "A really filthy looking poor beggar.\n"); call_other(beggar, "set_chat", 3); call_other(beggar, "set_hp", 30); move_object(beggar, this_object()); call_other(beggar, "set_object", this_object()); call_other(beggar, "set_function", "give_beggar"); call_other(beggar, "set_type", "gives"); call_other(beggar, "set_match", " "); call_other(beggar, "set_chat_chance", 7); call_other(beggar, "set_a_chat_chance", 20); call_other(beggar, "load_chat", "Beggar says: Please, give money to a poor beggar!\n"); call_other(beggar, "load_a_chat", "Beggar says: Why do you do this to me ?\n"); } } THREE_EXIT("room/vill_road1", "south", "room/pub2", "east", "room/alley", "west", "Small yard", "A small yard surrounded by houses.\n", 1) give_beggar(str) { int money; string who; say("Beggar says: Thank you.\n"); if (sscanf(str, "%s gives you %d gold coins.", who, money) != 2) return; if (call_other(beggar, "query_money") >= 5 && environment(beggar) == this_object()) { call_other(beggar, "init_command", "east"); call_other(beggar, "init_command", "buy beer"); call_other(beggar, "init_command", "west"); } }